 
     全国热线电话:13633878273
发布时间: 2014-04-27 16:28:14
验证:2000以内的正偶数都能分解为两个素数之和(即验证歌德巴赫猜想对2000以内的正偶数成立)。
问题分析与设计:
为了验证歌德巴赫猜想对2000以内的正偶数成立,要将整数分解为两部分,然后判断分解出来的两个整数是否均为素数。若是,则满足题意;否则,重新进行分解和判断。
要求:写一个判断素数的函数
#include <iostream.h> 
#include <math.h> 
bool is_prime(int i) 
{ 
int j; 
if(i==1) return 0; 
if(i==2) return 1; 
if(!(i%2)) return 0; //偶数返回0 
for (j=3; j<=int(sqrt(double(i))); j++) 
if (!(i%j)) return 0; 
return 1; 
}
void main() 
{ 
int n,i; 
for(n=4;n<=2000;n+=2) //可只测试1990„„2000 
{ 
for(i=2;i<n;i++) 
{if(is_prime(i)) 
if(is_prime(n-i)) 
{cout<<n<<"="<<i<<"+"<<n-i<<endl; 
break; //n找到一组素数就输出并终止内循环
}
 } 
}
}
下一条:C语言素数的几种判断方法