問題 c: 階乘位數
時間限制: 1 sec 記憶體限制: 128 mb
[提交] [狀態]
題目描述
在很多軟體中需要用到較大的整數。比如一些軟體將大數用於資料安全傳送的密匙或者密碼編譯等等。在這個問題中,你要根據給你的整數,算出這個數的階乘的位數。
輸入含若干行整數。第一行為n,表示案例數,接下來是n行,每行乙個整數m(1≤m≤10^7)。
輸出輸出這些數的階乘的位數。
樣例輸入 copy210
20樣例輸出 copy719
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int m =
100005
;long
long
count
(int x)
}return ans;
}int
main()
return0;
}
N的階乘 大數階乘
輸入n求n的階乘的準確值。input 輸入n 1 n 10000 output 輸出n的階乘 首先,要確定n的階乘的數字大概有多少位,這樣便於我們去選擇合適的演算法。階乘 當n 10000時,上式值為35660 已經向上取整 所以接受 include include include include ...
大數的階乘
首先定義乙個足夠長的陣列。拿10000的階乘為例,最後的結果長度是35660位,所以我們定義乙個40000個成員的陣列就可以了。int result 40000 其核心思想就是把計算結果每一位上的數字儲存到乙個陣列成員中,例如 把124儲存至陣列中,儲存結果應該是 result 0 4 result...
大數的階乘
include include 乙個陣列元素表示4 個十進位制位,即陣列是萬進製的 define bigint radix 10000 define radix len 4 10000 有35660 位 define max len 35660 radix len 1 整數的最大位數 int x m...