链接:
https://www.nowcoder.net/acm/contest/75/E
来源:牛客网
来源:牛客网
时间限制:C/C++ 3秒,其他语言6秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
给定一个整数N(0≤N≤10000),求取N的阶乘
输入描述:
多个测试数据,每个测试数据输入一个数N
输出描述:
每组用一行输出N的阶乘
示例1
输入
1 2 3
输出
1 2 6
#include <stdio.h>
int main()
{
int a[500000];
int temp,digit,n,i,j;
while(scanf("%d",&n)!=EOF)
{
j=0;
a[0]=1;
digit=1;
for(i=2; i<=n; i++)
{
int num=0;
for(j=0; j<digit; j++)
{
temp=a[j]*i+num;
a[j]=temp%10;
num=temp/10;
}
while(num)
{
a[digit]=num%10;//继续储存
num=num/10;
digit++;
}
}
for(i=digit-1; i>=0; i--)
printf("%d",a[i]);
printf("\n");
}
return 0;
}