题目大意:输入任意一个整数,要求:若存在这样一组连续的素数,其相加之和等于输入的这个数,则COUNT加1(COUNT初始值为0)。若输入的整数本身为素数,则COUNT也加1。
首先贴代码:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
}
思路:1.先把2--10000的素数存入数组中,数组标准长度是1229,亲测~~~
for(n=1;n<t&&a[n]<num;n++)
{
for(j=0;j<t-n&&a[j+n]<num;j++)
//用j将连续相加的素数向后移动(如:j=0时,2+3+5;j=1时,3+5+7;···)
{
for(k=0,sum=0;k<=n;k++)
{
sum+=a[j+k];
if(sum>num)break;
}
if(sum==num)count++;
}
}
大致就是如此啦(⊙o⊙)…