题目理解:
对于给定N,在不超过N里,若两个相邻素数的差等于2,则为统计目标,统计目标变量count自加1;
代码如下,提交使用g++
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int num) //判断是否为素数
{
for(int i=2; i<=sqrt(num); i++)
{
if(num%i==0)
return false;
}
return true;
}
int main()
{
int n, count=0, tmp=1;
scanf("%d", &n);
for(int i=1; i<=n; i++) //枚举到N
{
if(isPrime(i))
{
if(i-tmp==2) //是素数且与前一个素数差为2,统计目标变量加1;
{
count++;
}
tmp = i; //tmp更新为最近一个素数,为下一次判断准备;
}
}
printf("%d", count);
}
本文介绍了一段C++代码,用于统计不超过给定数值N的所有孪生素数对的数量。代码首先定义了一个isPrime函数来判断素数,然后通过遍历从1到N的整数,检查每对相邻素数之间的差是否为2,以此来统计孪生素数对。
1046

被折叠的 条评论
为什么被折叠?



