c++递归问题。为什么无论输入什么数,输出都是1呢?谢谢~~~
答案:3 悬赏:30 手机版
解决时间 2021-02-02 11:50
- 提问者网友:酱爆肉
- 2021-02-01 14:02
c++递归问题。为什么无论输入什么数,输出都是1呢?谢谢~~~
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-02-01 15:20
double Factorial(int n)
{
double fact;
if (n == 1||n==2)
fact = 1;
else
fact = Factorial(n - 1)+Factorial(n - 2);
return fact;
}
斐波那契数列是这样的吧
{
double fact;
if (n == 1||n==2)
fact = 1;
else
fact = Factorial(n - 1)+Factorial(n - 2);
return fact;
}
斐波那契数列是这样的吧
全部回答
- 1楼网友:梦中风几里
- 2021-02-01 16:50
这是求阶乘吧?递归写错了
- 2楼网友:痴妹与他
- 2021-02-01 16:07
if (n == 1||n==2)
fact = 1;
else
fact = Factorial(n - 1)*Factorial(n - 2);
return fact;
这个递归逻辑最终就是1*1*1*....*1
改改:double Factorial(int n)
{
double fact;
if (n == 1||n==0) //0,1,不是1,2
fact = 1;
else
fact =n* Factorial(n - 1); //n*
return fact;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯