#include <iostream>
#include <stdlib.h>
using namespace std;
long long a[21]={0};
long long fac(int n)
{
a[1]=1;
for(int i=2;i<=n;i++)
{
if(a[i]==0)
a[i]=a[i-1]*i;
}
return a[n];
}
void func()
{
int n;
while(cin>>n)
{
cout<<fac(n)<<endl;
}
}
int main(int argc, char *argv[])
{
//printf("Hello, world\n");
func();
return 0;
}
Factorial 计算,遍历或递归
-
题目描述:
-
输入一个整数n,输出n的阶乘
-
输入:
-
一个整数n(1<=n<=20)
-
输出:
- n的阶乘
-
样例输入:
-
3
-
样例输出:
-
6