(快速幂)计算A^B的最后x位数
题目描述
请编程计算A^B结果的最后若干位表示的整数.
输入描述
输入数据包含3个整数A,B和x,其中,0
输出描述
请输出A^B结果的最后x位表示的整数.
输入样例
2 10 3
输出样例
24
代码:
#include// (a*b)%c=(a%c)*(b%c)%c
long long int power(long long int a,int b,int c);
int main()
{
int sum;
int i,j=1,b,x;
int a;
scanf("%d %d %d",&a,&b,&x);
while(x--){
j*=10;
}
sum=power(a,b,j);
printf("%d",sum);
return 0;
}
long long int power(long long int a,int b,int c)
{
long long int ans=1;
a=a%c;
while(b>0){
if(b%2==1) ans=(ans*a)%c;
b=b/2;
a=(a*a)%c;
}
return ans;
}
网友评论