用递归方式求出阶乘的值。递归的方式为: 5!=4!*5 4!=3!*4 3!=2!*3 2!=1!*2 1!=1 即要求出5!先求出4!。。

要求:定义一个函数(或方法),用于求阶乘的值。在主函数(或主方法)中调用该递归函数(或方法),求出5的阶乘,并输出结果。... 要求:
定义一个函数(或方法),用于求阶乘的值。
在主函数(或主方法)中调用该递归函数(或方法),求出5的阶乘,并输出结果。
展开
 我来答
夕阳很傷
2016-12-29 · 超过27用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:32.2万
展开全部
#include<iostream.h>
#include<stdio.h>
void digui(int x,int sum,int i){
if(i==1){
sum=x*(x-1);
x=x-2;
i--;//判断是否为第一次
}
else{
sum=sum*x;
x--;
}
if(x==1){
cout<<sum<<endl;//当阶乘到1的时候结束,输出所求阶乘值
}
else{
digui(x,sum,i);
}
}
void main(){
digui(5,0,1);
/*5即是你要求的系数,0是两个数的积(第一次运算即为5x4),先让其初始值为0,1为指示号码,因为第一次的算法跟后面的递归不一样,
所以要分开判断,第一次后让i归0,执行后面的递归,因为第一次的总和sum=x*(x-1),但后面的sum递归算法是sum*x;
*/
}
匿名用户
2018-03-28
展开全部
public static void main(String[] args)
{ int Factorial5 = Factorial(5);

System.out.println("5! is " + Factorial5); }

static int Factorial(int n)

{ if (n < 0)

System.out.println("输入的数据错误!");

if (n == 0 || n == 1)

return 1;

else

return Factorial(n - 1) * n; }

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式