1. 程式人生 > >【杭電2035】人見人愛A^B

【杭電2035】人見人愛A^B

這裡寫圖片描述
這裡寫圖片描述

#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的作用,用來把數變小的,我們可以想象如果是很大的數的很高次方, //乘幾次後資料非常大無法用任何一個基本資料型別表示,而且這也是不必要的, //通常我們只需要知道最後若干位的值,這就可以用到取餘了, //餘數的冪和原數的冪在餘數的位數上是相同的,所以每次進行乘法運算後都要取餘, //當然如果資料很小也可以不用取餘。