欢迎关注本专栏《C++从零基础到信奥赛入门级(CSP-J)》
问题:1004 - 编程求1 * 2 * 3 * … * n
类型:简单循环
题目描述:
编程求 1×2×3×⋯×n 。
输入:
输入一行,只有一个整数 n(1≤n≤10);
输出:
输出只有一行(这意味着末尾有一个回车符号),包括 1 个整数。
样例:
输入:
5
输出:
120
完整代码如下:
#include<bits/stdc++.h> // 包含所有标准库头文件,但在实际使用中应尽量避免这样做
using namespace std; // 使我们可以直接使用 std::cin 和 std::cout 等,而无需 std:: 前缀
// 定义一个名为 dg 的函数,用来计算 n 的阶乘
int dg(int d) {
// 如果 d 等于 1,则返回 1 (因为 1 的阶乘是 1)
if(d == 1) {
return 1;
} else {
// 否则,返回 d 乘以 (d-1) 的阶乘
return d * dg(d-1);
}
}
int main() {
// 定义变量 n 和 res,n 用来存储用户输入的整数,res 存储计算结果
int n, res;
// 输入已知的整数 n
cin >> n;
// 根据关系计算阶乘
res = dg(n);
// 输出未知的结果,即阶乘的值
cout << res;
return 0; // 主函数结束,程序正常退出
}