求不超过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]); } } }