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

2021-08-14 21:38:53 字數 1002 閱讀 5486

- - 望各位大佬指點指點
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 line. sample input

1

23

sample output
1

26

**如下:

#include #include using namespace std;

void syetem(int n)

;//用陣列來儲存萬進製的每一位

int i,j;

int places=0,carry;//總位數,進製的值

for(i=1;i<=n;i++)

if(carry!=0)

}printf("%d",a[places]);//最高位原樣輸出

for(i=places-1;i>=0;i--)

else if(a[i]>=100)

else if(a[i]>=10)

else printf("000%d",a[i]);

}printf("\n");

}int main()

return 0;

}

比如,計算9的階乘,在計算到7的階乘時,7!為5040,可以用a[0]儲存5040,沒有產生進製,然後8!=5040*8=40320,如果看成萬進製則產生了進製,那麼a[0]=320(

注意輸出時不足4位的要在前邊補0

),a[1]=4(

最高位不用補0

),9!=40320*9,那麼a[0]*9=320*9=2880,a[1]*9=4*9=36,那麼9!=a[1]+a[0]=362880(

注意這裡的+相當於字串連線,

)

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

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,outp...

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...