输出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;
}
