時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:2 描述
求n^n的個位數字大家應該都會了,可是,n^n的最高位數字你會求嗎?
輸入
多組測試資料。
每組資料輸入乙個正整數n(n≤1,000,000,000)。
輸出對於每組資料,輸出n^n的最高位數字。
樣例輸入
34
樣例輸出
22
**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,則僅需考...