题目:
幂
的末3位数是多少?,不足三位,前面补零。
分析:
当指数过大时,将无法完全存储该幂指数的最终结果,故应考虑不变量,只对结果的部分进行考量。题中要求后三位,故我们只需考虑后三位,每次只需将后三位乘以底数,则最后将得到该幂指数结果的后三位。
代码:
#include<stdio.h>
#include<math.h>
int main(){
int a,b;
scanf("%d %d",&a,&b);
long long con = 1; //保存后三位的变量
for(int i=0;i<b;i++){
con=(con*a)%1000; //对后三位进行计算并取出要求的数
}
printf("%03lld\n",con); //控制输出格式
return 0;
}
测试:
样例输入
7 2011
样例输出
743