2458: 【例】【入门】【P5739】计算阶乘
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:41
解决:27
题目描述
求 ,也就是 。
挑战:尝试不使用循环语句(for、while)完成这个任务。
输入
第一行输入一个正整数 。
输出
输出一个正整数,表示 。
样例输入 复制
3
样例输出 复制
6
提示
数据保证,。
使用循环:
#include<iostream>
using namespace std;
int main(){
int n,ans=1;
cin>>n;
for(int i=1;i<=n;i++)
ans*=i;
cout<<ans<<endl;
return 0;
}
使用递归:
#include <iostream>
using namespace std;
int f(int x) {
if (x == 1) return 1; //如果x为1,则返回1!=1
return x * f(x - 1);
//否则递归调用函数计算(x-1)!,并且将其乘上x返回,从而得到x!的结果
}
int main() {
int n; cin >> n;
cout << f(n) << endl; return 0;
}