求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...