#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
本文介绍了一种使用C++编程语言实现阶乘计算的方法。通过遍历而非递归的方式,该程序能够有效地计算出不大于20的整数的阶乘,并且利用了一个长整型数组来存储中间结果。
1884

被折叠的 条评论
为什么被折叠?



