C语言 输出 1000 对孪生素数

孪生素数就是差值为 2 的成对素数,例如3和5,5和7,11和13

代码实现:

#include <stdio.h>
#include <math.h> 

int isPrime(int n)
{
    
    
    int flag=1;
	if(n==1) 
	flag=0;    
	else{
    
            
		for(int i=2;i<=sqrt(n);i++)
		{
    
                
			if(n % i == 0) 
			flag=0;       
		}    
	}   
	return flag;
}

int main()
{
    
    
	int i;
	int cnt=0;
	for(i=1;cnt<1000;i++)
	{
    
    
		if(isPrime(i)&&isPrime(i+2))
		{
    
    
			cnt++;
			printf("第%d对孪生素数是%d,%d\n",cnt,i,i+2);
		}
	}
	
	return 0;
}

运行结果:
在这里插入图片描述
基本思路:
先写一个函数用来判断素数,然后利用循环,保证i和i+2都是素数,直到找到1000 对孪生素数。

猜你喜欢

转载自blog.csdn.net/weixin_46155777/article/details/105253010