大數階乘(萬進製)(HDU 1042)

2021-08-08 03:19:04 字數 928 閱讀 5898

problem description

given an integer n(0 ≤ n ≤ 10000), your task is to calculate n!

input

one n in one line, process to the end of file.

output

for each n, output n! in one line.

sample input

1 2

3sample output

1 2

6題意:求n的階乘;

萬進製思想:用陣列存資料,每個元素存4位數;

eg:10的階乘,迴圈到7的時候 sum==5040 ,a[1]=5040;

到8的時候 a[1]*8=40320;

這個時候temp=a[1]/10000;

a[1]%=10000;

再把temp存到下一位;

到9的時候 a[1]*9=320*9=2880;

temp=0;

a[2]*9+temp=4*9+0=36;

到10的時候 a[1]*10=28800

temp=2;a[1]=8800;

a[2]=a[2]*10+temp;

**:

#include

#include

int a[10009];

int n;

void get_ans()

if(temp > 0)

}printf("%d", a[k]);

for(int i = k-1; i >= 1; i--)

printf("\n");

return;

}int main()

return

0;}

HDU 1042 大數的階乘(萬進製)

望各位大佬指點指點given an integer n 0 n 10000 your task is to calculate n inputone n in one line,process to the end of file.outputfor each n,output n in one l...

hdu 1042 大數階乘20140730 c

題目大意 求n 其中n的數值比較大,0 n 10000,多組數,每組乙個n,要求輸出n!解題分析 這道題沒有思路,是大數相乘的結果,看過別人的 知道可以用萬進製儲存計算。萬進製,舉個例子說明 107924372 15,107924372這個數用完進製存,四個數字佔一位,一共佔三位,a 0 4372,...

hdu1042(大數乘法 )

計算n!1 n 10000 在去南昌icpc邀請賽之前,勳宇帶著我們做過大數的題,剛好也是這個題。而我影響最深刻的就是運用到萬進製,顧名思義,以一萬為進製,因為n!是個很大的數,所以只能用陣列去存。需要注意的是列印時,倒敘且 04d,不足的用零去補。附上 include include void f...