和谐素数之和
问题简述:区间[2,n)内,连续数之间乘积减一是素数的累加和
#include<iostream>
#include<cmath>
using namespace std;
//这里的判断是否为素数的函数写的比上次的还要精简,模板可以背下来
bool judge(int x) //返回布尔类型非0即1,在C++中的类型
{
for(int i = 2;i <= sqrt(x);i ++)
if(x % i == 0) return 0;
return 1;
}
int main()
{
int n;
scanf("%d",&n);
int res = 0; //累加所有和谐素数结果
for(int i = 2;i < n;i ++)
{
int t = i * (i + 1) - 1;
if(judge(t)) res += t;
}
printf("%d",res);
return 0;
}