最高位數字

2021-06-21 21:12:59 字數 840 閱讀 5375

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:2 描述

求n^n的個位數字大家應該都會了,可是,n^n的最高位數字你會求嗎?

輸入

多組測試資料。

每組資料輸入乙個正整數n(n≤1,000,000,000)。

輸出對於每組資料,輸出n^n的最高位數字。

樣例輸入

3

4

樣例輸出

2

2

**hdu

上傳者

tc_李遠航

分析:題目是這樣轉化的。 

首先用科學計數法來表示 n^n = a*10^x; 比如n = 3; 3^3 = 2.7 * 10^1; 我們要求的最右邊的數字就是(int)a,即a的整數部分; 

ok, 然後兩邊同時取以10為底的對數 lg(n^n) = lg(a*10^x)  化簡 n*lg(n) = lg(a) + x; 繼續化 n*lg(n) - x = lg(a) a = 10^(n*lg(n) - x); 

現在就只有x是未知的了,如果能用n來表示x的話,這題就解出來了。 

又因為,x是n^n的位數。比如 n^n = 1200 ==> x = 3; 實際上就是 x 就是 lg(n^n) 向下取整數,表示為[lg(n^n)] 

ok a = 10^(n*lg(n) - [lg(n^n)]); 然後(int)a 就是答案了

**:

#include#includeint main()

return 0;

}

最高位數字

描述 求n n的個位數字大家應該都會了,可是,n n的最高位數字你會求嗎?輸入多組測試資料。每組資料輸入乙個正整數n n 1,000,000,000 輸出對於每組資料,輸出n n的最高位數字。樣例輸入 樣例輸出 public static void main string args char c n...

PTA 自然數的最高位數字 遞迴版

請編寫遞迴函式,求自然數的最高位數字。函式原型 int topdigit int number 說明 引數 number 為非負整數,函式值為最高位數字。若 number 為零,則函式值為零。裁判程式 include int topdigit int number int main 你提交的 將被嵌...

hdu 1060 n n的求最高位的數字

如 n 87455時,a 4,b 0.941784644.有規律.10 a 10000 10 b 8.7455.任何乙個數字都可以表示成10 a b a 1,b 1 n n 10 a b 兩邊對10取對數 n log10 n a b a是整數部分 b是小數部分 由於10的整數次冪首位均為1,則僅需考...