要发就发

来源:互联网 发布:从ubuntu启动windows 编辑:程序博客网 时间:2024/05/01 04:35

将不超过1993的所有素数从小到大排成一行,第二行每个数等于上面相邻两数的差,编程求出,第二行中是否存在连续整数,他们的和恰好为1898,。

这道题并不难,我想写的原因有两个:

一:先找规律

sum=m[k]+m[k+1]+...+m[j]

        =(n[k+1]-n[k])+(n[k+2]-n[k+1])+....

        =n[j+1]-n[k]

for(j--;number[j]>1898;j--) {for(i=0;number[j]-number[i]>1898;i++)  if(number[j]-number[i]==1898)printf();}

二:差值为1898,素数2和其他素数的差值肯定是奇数,所以直接从3开始!!!

做题之前一定要先思考,可以减少不必要的运算,提高效率


 

0 0
原创粉丝点击