📅  最后修改于: 2020-09-25 06:05:58             🧑  作者: Mango
对于任何正数n
,阶乘由下式给出:
factorial = 1*2*3...*n
找不到负数的阶乘,0的阶乘为1。
在下面的该程序中,要求用户输入一个正整数。然后,该数字的阶乘被计算并显示在屏幕中。
#include
using namespace std;
int main()
{
unsigned int n;
unsigned long long factorial = 1;
cout << "Enter a positive integer: ";
cin >> n;
for(int i = 1; i <=n; ++i)
{
factorial *= i;
}
cout << "Factorial of " << n << " = " << factorial;
return 0;
}
输出
Enter a positive integer: 12
Factorial of 12 = 479001600
在这里,可变factorial
类型为unsigned long long
。
这是因为数字的阶乘始终为正,这就是为什么向其添加unsigned
限定符的原因。
由于阶乘数可能很大,因此将其定义为long long
。