题目描述
幂ab的末三位数是多少?
输入
两个正整数a,b (1<=a<=100, 1 <= b <= 10000)
输出
从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补0
样例输入 复制
7 2011
样例输出 复制
743
//思路就是每一次乘积的取余结果是不变的
//避免大数超限,所以我们每一次循环都取余数
//直到执行到要求次数的循环
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
int x=1; //必须设为x=1
for(int i=1;i<=b;i++) //求幂
{
x=x*a; //每一次都是x来保留算数结果
x=x%1000; //每一次又都是x来保留取余结果
}
if(x<10) //必须符合三位
cout<<"00"<<x;
else if(x<100)
cout<<"0"<<x;
else
cout<<x;
return 0;
}