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

2022-05-11 05:23:56 字數 475 閱讀 9554

如 :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,則僅需考慮nlog10(n)的結果的小數部分即可  b=n*log10(n)-floor(n*log10(n)) 

pow(10,b)  得到10^b 其結果大於1小於10  取其整數部分 即可

#include

#include

intmain()

return0;

}

1089 階乘的最高位 ZZULIOJ

題目描述 輸入乙個正整數n。輸出n 的最高位上的數字。輸入輸入乙個正整數n n不超過1000 輸出輸出n 的最高位上的數字。樣例輸入 copy 1000 樣例輸出 copy4提示 注意double型別溢位問題。include include intmain int a,b a int fact b ...

ZZULIOJ 1089 階乘的最高位

題目描述 輸入乙個正整數n。輸出n 的最高位上的數字。輸入 輸入乙個正整數n n不超過1000 輸出 輸出n 的最高位上的數字。樣例輸入 1000樣例輸出 4這裡的提示是注意型別溢位,因為1000的階乘實際上是比double能表示的最大數還要大的。那麼如何處理這個就是本題目的關鍵。關於影響結果的是最...

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

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