题目1067:n的阶乘

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:5666

解决:2141

题目描写叙述:

输入一个整数n,输出n的阶乘

输入:

一个整数n(1<=n<=20)

输出:
n的阶乘
例子输入:
3
例子输出:
6
#include<stdio.h>
unsigned long int a[21];
void init(){
a[0]=a[1]=1;
}
int main(int argc, char *argv[])
{
int n;
init();
while(~scanf("%d",&n))
{
if(a[n])
printf("%lu\n",a[n]);
else
{
int i=2;
while(a[i])i++;
for(;i<=n;++i)
{
a[i]=a[i-1]*i;
}
printf("%lu\n",a[n]);
}
}
return 0;
} /**************************************************************
Problem: 1067
User: kirchhoff
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/
05-07 15:25
查看更多