求A B的最後三位數

2021-10-02 03:11:02 字數 561 閱讀 3670

求a^b的最後三位數

首先需要知道乙個公式:

( a * b ) % c = ( ( a % c ) * ( b % c ) ) % c

為什麼需要這個公式?

a*b的結果可能出現溢位,所以取模之後就不會了

快速冪解法

2.1 首先將冪指數用二進位制表示,例如:313 =31101 = 38 * 34 * 31。所以最後的結果就是將二 進製中為1的係數冪乘起來即可

2.2 第二步就是計算31,34,38

31 = 3

32 = (32)1

34 = (32)2

38 = (34)2

從上面的表示式可以看出來,後乙個數都是前乙個數的平方。

3.下面來看,具體解法:

long long fun(long long base, long long power)

else//二進位制中為1的位置

}return result;

}

HDU 2035 求A B的最後三位數

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

特殊三位數

作 者 李家豪 完成日期 2013 年11月13日 版 本 號 v1.0 問題描述 請輸出滿足條件n a b c 的所有三位數n,其中,a b c分別是n的百 十 個位數。要求用自定義函式實現求階乘。樣例輸入 樣例輸出 145 問題分析 includeusing namespace std int ...

尋找三位數

問題描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成 1 2 3的比例,試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576滿足以上條件。輸入格式 無輸入輸出格式 輸出每行有三個數,為滿足題設三位數。各行為滿足要求的不同解。public class ma...