鱼C论坛

 找回密码
 立即注册
查看: 1021|回复: 9

[已解决]递归实现斐波那契

[复制链接]
发表于 2021-11-25 14:34:35 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 贝壳头 于 2021-11-25 16:07 编辑

为什么 在 I=6
fun a-1 + func a-2 返回值却是8?
它们内部怎么计算的?为什么和是8
参数a-1 等于5、参数a-2等于4么?

<?php
//利用递归实现前10个斐波那契数列
//分析:1 1 2 3 5 8 13 21 34 55 为前十个斐波那契数列
//第一个数 为1 第二个数为 1 第三个数 前两个数相加之和
function fun($a)
{
     if ($a==1  ||$a==2)//如果是第一个数或者是第二个数那么就输出1。
     {
         return 1 ;
     }
     return fun($a-1)+fun($a-2);//如果不是第一个数或者第二个数那么就输出前两个数之和。
}
for($i=1;$i<=10;$i++)。i     等于 6
{
echo fun($i).'&nbsp;';
}
?>
最佳答案
2021-11-25 17:05:40
本帖最后由 jackz007 于 2021-11-25 17:11 编辑

       不是加1,是前两项相加得到后一项。6 楼写的那么清楚,居然看不懂???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-25 15:02:27 | 显示全部楼层
        你根据什么说 I = 6 时,返回 8 不对?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-25 15:53:29 From FishC Mobile | 显示全部楼层
jackz007 发表于 2021-11-25 15:02
你根据什么说 I = 6 时,返回 8 不对?


10以内的斐波那契数列啊、
当执行到第六次的时候 i不就等于6了么?
传递的实参
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-25 15:57:23 | 显示全部楼层
贝壳头 发表于 2021-11-25 15:53
10以内的斐波那契数列啊、
当执行到第六次的时候 i不就等于6了么?
传递的实参


        你自己都列出来了斐波那契数列的前 10 项: 1 1 2 3 5 8 13 21 34 55,第 6 项分明就是 8 啊。
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-25 15:58:54 From FishC Mobile | 显示全部楼层
jackz007 发表于 2021-11-25 15:57
你自己都列出来了斐波那契数列的前 10 项: 1 1 2 3 5 8 13 21 34 55,第 6 项分明就是 8 啊。
...

这是前两个数的和啊、我想知道它们的和为什么是8,内部是怎么计算的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-25 16:14:27 | 显示全部楼层
贝壳头 发表于 2021-11-25 15:58
这是前两个数的和啊、我想知道它们的和为什么是8,内部是怎么计算的

     递推懂不懂?
     1 , 1  ->  1 + 1 = 2    由 1、2 项生出第 3 项
     1 , 2  ->  1 + 2 = 3    由 2、3 项生出第 4 项
     2 , 3  ->  2 + 3 = 5    由 3、4 项生出第 5 项
     3 , 5  ->  3 + 5 = 8    由 4、5 项生出第 6 项   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-25 16:31:33 From FishC Mobile | 显示全部楼层
jackz007 发表于 2021-11-25 16:14
递推懂不懂?
     1 , 1  ->  1 + 1 = 2    由 1、2 项生出第 3 项
     1 , 2  ->  1 + 2 = 3 ...

第一次接触、理解能力比较差,6-1等于五、6-2等于4不应该是这样的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-25 16:33:17 | 显示全部楼层
贝壳头 发表于 2021-11-25 16:31
第一次接触、理解能力比较差,6-1等于五、6-2等于4不应该是这样的吗

       怎么又出来减法了?从 1、1 开始,向后做加法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-25 16:34:37 From FishC Mobile | 显示全部楼层
jackz007 发表于 2021-11-25 16:33
怎么又出来减法了?从 1、1 开始,向后做加法。

是从最底层返回每次加一吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-25 17:05:40 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-11-25 17:11 编辑

       不是加1,是前两项相加得到后一项。6 楼写的那么清楚,居然看不懂???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表