时间限制: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
****************************************************************/