求不超过1993的素数从小到大排成一行,第二行每个数等于上一行的相邻两两相减,求第二行存在连续整数满足和是1989?有几种情况?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,a[301]={0},b[300],sum,j,m=0,n=0,tag;
static int k=0,count=0;
for(i=2;i<=1993;i++)
{ tag=1;
for(j=2;j<=i/2;j++)
{
if(i%j==0)tag=0;//tag=0不是素数;
}
if(tag==1){
count++;
a[k]=i;
k++;
}
}
for(i=0;i<300;i++)
{
b[m]=a[i+1]-a[i];
m++;
}
for(n=0;n<300;n++)
{
sum=0;
for(m=n;m<300;m++)
{
sum=sum+b[m];
if(sum==1898)printf("%d,%d\n",a[n],a[m+1]);
}
}
}
转载于:https://blog.51cto.com/514771529/1381947