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; }