快速冪 人見人愛A B

2021-10-23 05:22:45 字數 1164 閱讀 7201

二刷**

二分冪/快速冪

考慮要不要用ll

不需要!10000*10000int的範圍之內;

//二分冪題 

#include

"bits/stdc++.h"

using

namespace std;

int a;

int b;

intbinarypow

(int a,

int b,

int m)

else

else}}

intmain()

int ans =

binarypow

(a,b,

1000);

printf

("%d\n"

,ans);}

return0;

}

貌似二分求冪好像用的最多的就是求餘數了。。。

對於判別奇偶數可以使用&運算子!

上面的是遞迴的寫法,其實還有迭代的寫法,也就是遞推;

注意每次函式返回時都要%m這樣才能減小規模!

建議還是使用long long來儲存快速冪的結果。

#include

#include

using

namespace std;

typedef

long

long ll;

//快速冪模板建議使用long long

ll binarypow

(ll a,ll b,ll m)

else

else}}

intmain()

//求快速冪

printf

("%lld\n"

,binarypow

(a,b,

1000))

;}return0;

}

人見人愛A B快速冪

求a b的最後三位數表示的整數。說明 a b的含義是 a的b次方 input 輸入資料報含多個測試例項,每個例項佔一行,由兩個正整數a和b組成 1 a,b 10000 如果a 0,b 0,則表示輸入資料的結束,不做處理。output 對於每個測試例項,請輸出a b的最後三位表示的整數,每個輸出佔一行...

人見人愛A B

最近做了幾個acm的題,感覺真挺經典的。分享乙個覺得有點意思的,呵呵 problem description 求a b 的最後三位數表示的整數。說明 a b 的含義是 a的 b次方 input 輸入資料報含多個測試例項,每個例項佔一行,由兩個正整數a和 b組成 1 a,b 10000 如果 a 0,...

人見人愛A B

time limit 1000ms memory limit 32768k 有疑問?點這裡 求a b的最後三位數表示的整數。說明 a b的含義是 a的b次方 輸入資料報含多個測試例項,每個例項佔一行,由兩個正整數a和b組成 1 a,b 10000 如果a 0,b 0,則表示輸入資料的結束,不做處理。...