冲浪网站优化网立足洛阳是国内知名SEO服务商,是网站优化SEO学习,SEO技巧方法知识获取重要平台,提供高效的SEO及网站优化解决方案,提高目标网站的网站排名。

全国热线电话:13633878273

冲浪网站优化 / Products Center

歌德巴赫猜想C++方法

发布时间: 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找到一组素数就输出并终止内循环
}
 }
}

}