C++ 求阶乘

一个正整数的阶乘,是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

有两种思路可求解,一种递归方法,另一种循环。

下面看递归:

#include <iostream>   
#include <string>  
using namespace std; 
int jiecheng(int a)
{  int res;if (a==1)res=1;while(a>1)return a*jiecheng(a-1);} 
int main()
{  cout<<"输入一个整数: "<<endl;int a;cin>>a;int res=jiecheng(a);cout<<"结果: "<<res<<endl;return 0;}

第二种:循环

#include <iostream>   
#include <string>  
using namespace std; 
int jiecheng(int a)
{  int s=1;while (a>1){s= s*a;a-=1;}return s;} 
int main()
{  cout<<"输入一个整数: "<<endl;int a;cin>>a;int res=jiecheng(a);cout<<"结果: "<<res<<endl;return 0;}

结果:

输入一个整数:
12
结果: 479001600

本文链接:https://my.lmcjl.com/post/5732.html

展开阅读全文

4 评论

留下您的评论.