新闻资讯网站备案,莱芜在线话题凤城高中,双语网站费用,钟情建网站公司1007 素数对猜想 (20分)
让我们定义d n 为#xff1a;d n p n1 −p n #xff0c;其中p i 是第i个素数。显然有d 1 1#xff0c;且对于n1有d n 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给…1007 素数对猜想 (20分)
让我们定义d n 为d n p n1 −p n 其中p i 是第i个素数。显然有d 1 1且对于n1有d n 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(10 5 )请计算不超过N的满足猜想的素数对的个数。 输入格式:
输入在一行给出正整数N。 输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。 输入样例:
20 输出样例:
4 #includeiostream
#includemath.h
using namespace std;
bool judge(int n)//判断素数常用
{if (n 2) return false;for (int i 2; i sqrt(n); i){if (n % i 0) return false;}return true;
}
int main()
{int n, sum 0;int vist[10001] { 0 };//标记是否为素数cin n;for (int i 1; i n; i){if (judge(i))//判断{vist[i] 1;//如果是素数标记为1}}for (int i 1; i n; i){if (vist[i] 1 vist[i 2] 1 i 2 n)//判断相邻且相差2的数是否为素数i2必须小于等于n{sum;}}cout sum;
}