求阶乘的两个方法,递归和循环
递归
#include<iostream>
using namespace std;
float f(float n)
{
if(n==1)
{
return 1;
}
else
return n*f(n-1);
}
int main()
{
int n;
cout<<"请输入n";
cin>>n;
cout<<f(n);
return 0;
}
结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/129fe16c5901bd19e8a3615fed4040f1.png)
循环
#include<iostream>
using namespace std;
int main()
{
int n;
float x=1;
cout<<"请输入n";
cin>>n;
for(int i=1;i<=n;i++)
{
x=x*i;
}
cout<<x;
return 0;
}
结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/00e05c7b503a3604cfc9a578311dbb0d.png)
方法3
using namespace std;
float f(int n)
{
float x=1;
for(int i=1;i<=n;i++)
{
x=x*i;
}
return x;
}
int main()
{
int n;
cout<<"请输入n";
cin>>n;
f(n);
cout<<f(n);
return 0;
}
结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/834c1ea805f52c3a717b864154af231b.png)
如果对你有帮助,请 点赞 支持一下,谢谢!!!