多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C++ 程序:查找阶乘 > 原文: [https://www.programiz.com/cpp-programming/examples/factorial](https://www.programiz.com/cpp-programming/examples/factorial) #### 正整数 n 的阶乘等于`1 * 2 * 3 * ... n`。 在此示例中,您将学习使用`for`循环来计算数字的阶乘。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ `for`循环](/cpp-programming/for-loop) * * * 对于任何正数`n`,阶乘由下式给出: ```cpp factorial = 1*2*3...*n ``` 找不到负数的阶乘,0 的阶乘为 1。 在下面的该程序中,要求用户输入一个正整数。 然后,该数字的阶乘被计算并显​​示在屏幕中。 * * * ## 示例:查找给定数字的阶乘 ```cpp #include <iostream> 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; } ``` **输出** ```cpp Enter a positive integer: 12 Factorial of 12 = 479001600 ``` 在此,变量`factorial`的类型为`unsigned long long`。 这是因为数字的阶乘始终为正,这就是为什么要在其中添加`unsigned`限定词的原因。 由于阶乘数可能很大,因此将其定义为`long long`。