OJ,VJ人見人愛A B

2021-10-07 17:24:57 字數 710 閱讀 3076

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

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

input

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

output

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

sample input

2 312 6

6789 10000

0 0sample output

8984

1

#include

#include

#include

intmain()

return0;

}

這個求a的b次方後3位數的題。由於資料可以出的很大,我一點辦法也沒有。

雖然資料很大,但在每次運算時使用的「工具資料」,即使用「某種公式」,這個「某種公式」公式的係數也很大。那麼就可以減少運算量。

這也是考驗學生們對演算法的尋找和設計能力吧。

尤其是第一位博主的解析,道清了每次使用(餘數*底數)%1000,取餘的原理。求後3位就對1000取餘。求後4為就對10000取餘。

由乘法豎式原理,結果的後3位數總是由一系列加法運算得來的。經觀察可得,每次用1000取餘得到的後3位數並沒有丟失掉我們需要使用的資料的性質。

以上**參考一下兩位博主:

人見人愛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...