思路
水个最朴素做法的题解……
显然不可能把 $a^b$ 计算出来。( python 可以应该是因为 python 的高精度乘法比较快)
显然求末三位有用的只是对 $1000$ 取余的余数。
于是就很简单了。
有一点是 printf("%03d",res)
可以将 res
用 $0$ 补足三位输出,同理 scanf("%1d",res)
可以用于输入一位整数。
代码
#include<bits/stdc++.h>
using namespace std;
int a,b,res=1;//注意res应初始化为1
int main(){
scanf("%d%d",&a,&b);
for(int i=0;i<b;i++) {//需计算b次
res*=a;
res%=1000;//对1000取余
}
printf("%03d",res);//这里是用0补足三位输出
return 0;
}
最后一次更新于2021-07-04
0 条评论