打卡6 人見人愛A B

2021-10-06 09:40:28 字數 706 閱讀 4017

求a^b的最後三位數表示的整數。

說明:a^b的含義是「a的b次方」

輸入資料報含多個測試例項,每個例項佔一行,由兩個正整數a和b組成(1<=a,b<=10000),如果a=0, b=0,則表示輸入資料的結束,不做處理。

對於每個測試例項,請輸出a^b的最後三位表示的整數,每個輸出佔一行。

2 3 12 6 6789 10000 0 0

8 984 1

由於a的值任意只需大於1,b的值課達到10000,資料非常大,如果我們只是採用暴力演算法的話,不能找到乙個資料型別來儲存這個數,因此,此題可以巧妙轉換。我們知道,要知道乙個冪的後三位,只需要對這個數一直%1000即可,比如1230%1000=230;2323456789%1000=789…這樣我們這個問題就簡單了,只要每次乘以乙個數對1000取餘即可。

#include

#include

using

namespace std;

intfastexponentiation

(int a,

int b,

int mod)

b/=2

; a*

=a;//a不斷平方

a%=mod;

}return answer;

}int

main()

return0;

}

人見人愛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,則表示輸入資料的結束,不做處理。...

人見人愛A B

題目 求a b的最後三位數表示的整數。說明 a b的含義是 a的b次方 題意 分析 這是數論裡面的模運算定理,模運算在加減乘三運算中滿足分配律,可以任意分配,注意除法不可以用分配律,在遇到除法時要用群概念中的逆元來變成乘法。此外,本題要用快速冪來優化。題解 include include inclu...