hdu1061-rightmost digit
hdu1097-a hard puzzle
這兩個oj題目思路幾乎一樣,都是為了快速求出乙個數n次方後的末尾數為都多少?
1的所有次方都是1下面以hdu1097-a hard puzzle為例0的所有次方都是0
5的所有次方都是5
6的所有次方都是6
2^1=2 2^2=4 2^3=8 2^4=6(四個一迴圈)
3^1=3 3^2=9 3^3=7 3^4=1(四個一迴圈)
7^1=7 7^2=9 7^3=3 7^4=1(四個一迴圈)
4^1=4 4^2=6(兩個一迴圈)
8^1=8 8^2=4(兩個一迴圈)
9^1=9 9^2=1(兩個一迴圈)
#includeusing namespace std;
int main();
int n, num, rmd, ans; // rmd = rightmost digit
scanf("%d", &n);
for (int i = 0; i < n; ++i)
}
#include//1097
#includeusing namespace std;
int main()
{ int a,b,c[4];
while(cin>>a>>b)
{ a=a%10;
c[0]=a;//一次方的末尾數
c[1]=(c[0]*a)%10;//二次方的末尾數
c[2]=(c[1]*a)%10;//三次方的末尾數
c[3]=(c[2]*a)%10;//四次方的末尾數
執行及結果
acm — rightmost digit
a hard puzzle
求乙個數n的因子數和n 2因子數 數論
求乙個數的因子數其實不必列舉1 n 的所有數,比如我求12的所有因子,我列舉到1時,12可以被1整除,同時我就可以知道另乙個數12也是他的因子,同理我列舉到2時,12可以被2整除,另乙個數6也可同時求出 即我們只需列舉到3就可以求出所有的因子了。可以發現,求n的所有因子數,我們只需要列舉到sqrt ...
求乙個數的整數次方
題目 求乙個數的整數次方。題目是如此的簡單,但是需要考慮的還是比較多 1.指數為負,底數是零 2.指數底數都是零 3.返回正常零和返回錯誤零的區別 4.底數為正,指數為負如何處理 5.考慮底數次方大的話,想效率問題 6.處理double數值相等問題 以下直接是 詳細考慮除底數指數全零的以上所有情況!...
劍指offer 求乙個數的n次方,不考慮大數問題
一定得注意取值,當指數小於0,指數大於0,指數等於0時 如果指數和底數都是0時怎麼辦,還有浮點數的比較 include define esp 0.0000001 typedef enum boolbool bool value num false 定義乙個全域性變數用來區分正確時返回的0和錯誤時返回...