- - 望各位大佬指點指點
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
1sample output23
126
**如下:
#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...