一个正整数的阶乘,是所有小于及等于该数的正整数的积,并且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 评论