【杭電2035】人見人愛A^B
阿新 • • 發佈:2019-02-07
#include<stdio.h>
__int64 quick(int a,int b) {
__int64 ans=1,base=a;
__int64 t=0;
while(b) {
if(b&1) {
ans=ans*base%1000;
}
base=base*base%1000;
b>>=1;
}
return ans;
}
int main() {
int n,m;
while(scanf("%d %d",&n,&m),n||m) {
int t;
t=quick(n,m);
printf("%d\n",t);
}
return 0;
}
//現在來講max的作用,用來把數變小的,我們可以想象如果是很大的數的很高次方,
//乘幾次後資料非常大無法用任何一個基本資料型別表示,而且這也是不必要的,
//通常我們只需要知道最後若干位的值,這就可以用到取餘了,
//餘數的冪和原數的冪在餘數的位數上是相同的,所以每次進行乘法運算後都要取餘,
//當然如果資料很小也可以不用取餘。