输入一个非负整数n,求n!。
输入格式:
测试数据有多组,处理到文件尾。每组测试数据输入一个整数n(0≤n≤10000)。
输出格式:
对于每组测试,输出整数n的阶乘。
输入样例:
5
输出样例:
120
出处:
HDOJ 1042
参考代码
#include<stdio.h>
#include<string.h>
int main(){
int i,j,n,lenth,carry,tempt;
while(scanf("%d",&n)!=EOF){
int s[7201]={1};
lenth=1;
//lenth 记录数组的实际运用长度
for(i=2;i<=n;i++)
{
carry=0;
for(j=0;j<lenth;j++)
{
tempt=s[j]*i+carry;
carry=tempt/100000;
s[j]=tempt%100000;
}
while(carry)
{
s[lenth++]=carry%100000;
//如果有进位 数组运用的实际