时间限制:1.0s 内存限制:512.0MB
问题描述
输入一个自然数 𝑛,编写程序计算其阶乘。
例如若 𝑛=5,则其阶乘为 1×2×3×4×5=120 。
样例输入
5
样例输出
120
评测用例规模与约定
对于所有评测用例,1≤𝑛≤13。
c++代码
但是如果用系统来检验时这个代码为90分
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int m = 1;
for (int i = 1; i <= n; i++) {
m *= i;
}
cout << m << endl;
return 0;
}
这个为满分代码!!!
#include <iostream>
using namespace std;
int main() {
long long n;
cin >> n;
long long m = 1;
for (long long i = 1; i <= n; i++) {
m*= i;
}
cout << m << endl;
return 0;
}
将int改为longlong
代码逻辑:
这段代码计算给定整数 n 的阶乘,即所有从 1 到 n 的整数的乘积。
代码解释:
#include <iostream>:包含输入/输出流所需的库。
using namespace std;:使用标准命名空间,以便不必在每个标准库函数之前加上 std:: 前缀。
int main() { ... }:这是程序的入口点,其中包含要执行的代码。
int n;:声明一个整数 n 来存储用户的输入。
cin >> n;:从用户读取整数 n。
int m = 1;:声明一个整数 m 并将其初始化为 1。这将用于存储阶乘。
for (int i = 1; i <= n; i++) { ... }:这是一个循环,它从 i = 1 开始到 i = n 结束,每次递增 1。
在每个循环中,它将 m 乘以 i,从而有效地计算阶乘。
cout << m << endl;:将阶乘 m 打印到控制台。
return 0;:表示程序成功运行并返回 0。
当 n=5 时:
当用户输入 n = 5 时,代码将计算 5 的阶乘:
复制m = 1 * 1 = 1
m = 1 * 2 = 2
m = 2 * 3 = 6
m = 6 * 4 = 24
m = 24 * 5 = 120
因此,当 n = 5 时,该代码将输出 120。