全国热线电话: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语言素数的几种判断方法