#include <iostream>
using namespace std;
// 计算阶乘的函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1; // 0! 和 1! 都等于 1
}
unsigned long long result = 1;
for (int i = 2; i <= n; ++i) {
result *= i; // 累乘计算阶乘
}
return result;
}
int main() {
int num;
cout << "请输入一个非负整数: ";
cin >> num;
if (num < 0) {
cout << "错误: 输入必须是非负整数。" << endl;
} else {
cout << num << " 的阶乘是 " << factorial(num) << endl;
}
return 0;
}
factorial
函数:这是一个递归和迭代结合的实现,用于计算给定非负整数 n
的阶乘。
n
是 0 或 1,直接返回 1(因为 0! = 1! = 1)。n
进行累乘,最终得到阶乘结果。main
函数:这是程序的入口点。
factorial
函数计算并输出结果。数据类型选择:使用 unsigned long long
来存储阶乘结果,以确保可以处理较大的阶乘值(例如 20!)。
上一篇:c++运算符优先级由高到低
下一篇:c++ 初始化数组
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站