输出712的n次方结果后三位为696的个数,N的范围比较大。。。就2~24469吧,求大神给编码
自己写过,但是貌似会溢出,所以不能实现,求大神。
要的只是满足要求的数个数而已,又不是要满足要求的数。何必非要连那个数也算出来?
进一步提示:每次只保留结果的后三位就够了。
理论依据:数论(初等)。
#include<stdio.h> #include<time.h> int main() { long now=0; now=clock(); int sum=712,count=0; for(int i=2;i<=2000000000;i++) { sum=sum*712%1000; if(sum==696) count++; } printf("共发现有%d个数字符合要求\n",count); printf("本程序所用时间为%10.4lf秒\n",(double)(clock()-now)/CLOCKS_PER_SEC); return 0; }