整数幂(多实例测试)
题目描述
求A^B的最后三位数表示的整数(1<=A,B<=1000)
输入
n个测试实例,每个实例给出两个正整数A,B
输出
输出A^B的最后三位(没有前导0)
样例输入
2 2 3 12 6
样例输出
8 984
我的代码:
#include<stdio.h>
int main ()
{
int Pow(int a, int b);
int a,b,n;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&a,&b);
if(a==0&&b==0)
break;
printf("%d\n",Pow(a,b));
}
return 0;
}
int Pow(int a,int b)
{
int ans=1;
while(b)
{
if((b%2)==1)
{
ans=ans*a;
ans=ans%1000;
}
a=a*a;
b=b/2;
a=a%1000;
}
return ans;
}
快幂。。。。