自然语言解决问题:许多初学者看到本题最容易想到的方法就是:将 13 累乘 13 次后截取最后位即可。但是计算机中存储的整数有一定的范围,超出某范围将不能正确表示,所以用这种算法不可能得到正确的结果。实际上,题目仅要求后三位的值,完全没有必要把 13 的13 次方完全求出来
流程图:
具体代码:
#include<stdio.h>
int main(){
int i,x,y,last=1;
printf("Input x and y: \n");
scanf("%d %d",&x,&y);
for(i=1;i<=y;i++)
last=last*x%1000;
printf("The last three digits is:%d\n",last);
return 0;
}