快速幂

2018-01-17  本文已影响0人  笨斗的青春时代

(快速幂)计算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;

}

上一篇下一篇

猜你喜欢

热点阅读