c++计算20的阶乘的代码
时间: 2024-05-14 19:18:31 浏览: 85
以下是使用循环计算20的阶乘的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n = 20;
long long fact = 1;
for(int i = 1; i <= n; ++i) {
fact *= i;
}
cout << "20的阶乘是:" << fact << endl;
return 0;
}
```
输出:
```
20的阶乘是:2432902008176640000
```
其中,使用 `long long` 类型是为了保证阶乘结果不会溢出。
相关问题
c++计算阶乘的代码
在 C++ 中,你可以使用递归或者循环来计算阶乘。这里分别给出两个简单的例子:
**递归方法**:
```cpp
#include <iostream>
// 使用递归函数计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1) // 阶乘的基本情况:0和1的阶乘都是1
return 1;
else
return n * factorial(n - 1); // 递归调用自身
}
int main() {
int num;
std::cout << "请输入一个非负整数:";
std::cin >> num;
try {
std::cout << "该数的阶乘是:" << factorial(num) << std::endl;
} catch (std::overflow_error& e) {
std::cout << "阶乘结果过大,无法表示为 unsigned long long!" << std::endl;
}
return 0;
}
```
**循环方法**:
```cpp
#include <iostream>
// 使用循环计算阶乘
unsigned long long factorial(int n) {
unsigned long long result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
int main() {
int num;
std::cout << "请输入一个非负整数:";
std::cin >> num;
std::cout << "该数的阶乘是:" << factorial(num) << std endl;
return 0;
}
```
c++生成阶乘计算代码
以下是C语言生成阶乘计算代码的示例:
```c
#include <stdio.h>
int main() {
int n, i;
long long factorial = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
if (n < 0) {
printf("错误!阶乘不存在。\n");
} else {
for (i = 1; i <= n; ++i) {
factorial *= i;
}
printf("%d 的阶乘为 %lld\n", n, factorial);
}
return 0;
}
```
该程序首先从用户输入中读取一个正整数,然后使用一个for循环计算阶乘。如果输入的数小于0,则会提示错误。最后,该程序将计算结果输出到屏幕上。
阅读全文
相关推荐













