老师,想不明白是怎么递归的,能提示一下吗

老师,想不明白是怎么递归的,能提示一下吗

具体遇到的问题

老师,想不明白是怎么递归的,能提示一下吗

报错信息的截图

相关课程内容截图

尝试过的解决思路和结果

粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
6hEd 2021-01-18 08:39:47

​盗梦空间

好帮手慕久久 2021-01-12 19:11:39

同学你好,解答如下:

fn这个函数,只有当参数num等于0时,才会返回一个具体的值(空字符串""):

http://img1.sycdn.imooc.com//climg/5ffd7f7e09aec29f11030512.jpg

即fn(0,"抱着")是可以得到一个具体值的。而num是其他值时,会返回fn(当前num)与fn(前一个num)的关系:

http://img1.sycdn.imooc.com//climg/5ffd825c096686a504050160.jpg

那么fn(3,"抱着")的值,就可以采用倒着计算的方式,利用fn(0,"抱着")获取到。办法就是,让fn(3,"抱着")的值与fn(2,"抱着")关联上,让fn(2,"抱着")和fn(1,"抱着")关联上。由于fn(1,"抱着")可以通过fn(0,"抱着")得到具体值,那么fn(2,"抱着")就可以通过fn(1,"抱着")的值计算得到,依次类推:

http://img1.sycdn.imooc.com//climg/5ffd81d109c78ee505160218.jpg

所以num前面要--,就是为了实现让fn(3)与fn(2)的结果关联上,让fn(2)与fn(1)的结果关联上。

此处不好理解,不要着急。建议同学把老师之前的回复好好看看(尤其是图片中的注释)。

现在的问题楼层有些乱,不利于同学查看自己的回复,也不利于以后复习,因此如果还有疑问,建议新建一个问题提问,老师们再给你解答

祝学习愉快!

好帮手慕星星 2020-12-20 10:25:10

同学你好,测试粘贴图片中的代码没有问题,即使刷新浏览器输出文字也不会改变

http://img1.sycdn.imooc.com//climg/5fdeb5c909dc172804780077.jpg

老师这边控制台也没有出现截图中的报错。

建议将自己写的代码粘贴上来(不要截图),老师进行测试,避免和老师按照图片中敲的代码不一致。也说明一下是怎么进行测试的,好进行还原。

祝学习愉快!

  • 提问者 日拱一卒_ #1

    嗯嗯,谢谢老师


    我刚刚又测试了一下,

    出现这个问题的原因是,我可能是点击了谷歌浏览器的翻译为英文

    重新设置了刷新浏览器,选择了浏览器默认的语言格式后,就能正常显示了



    2020-12-21 10:35:54
  • 好帮手慕星星 回复 提问者 日拱一卒_ #2

    好的,解决了问题就好。

    2020-12-21 11:09:38
好帮手慕久久 2020-12-19 18:06:39

同学你好,“吓得我抱起了抱着抱着抱着我的小鲤鱼的我的我的我”这句话中,加粗的部分,是可以利用递归来完成的,即利用一个递归方法,输出“抱着抱着抱着”和“的我的我的我”。如下函数,就是一个可以实现目的的递归函数:

http://img1.sycdn.imooc.com//climg/5fddcd850996b93104510201.jpg

http://img1.sycdn.imooc.com//climg/5fddcd8b09cc97e703850060.jpg

含义如下:

http://img1.sycdn.imooc.com//climg/5fddd0390970b9ba11970495.jpg

所以只要如下这样写代码,就可实现要求:

http://img1.sycdn.imooc.com//climg/5fddd06f09097ae509070162.jpg

祝学习愉快!

  • 提问者 日拱一卒_ #1

     好的,谢谢老师


    你这一说我就明白怎么回事了,但是我自己遇到其他的递归题还是不能分析出来


    哎呀~

    2020-12-19 19:04:33
  • 提问者 日拱一卒_ #2

    http://img1.sycdn.imooc.com//climg/5fdde10b0926faa012210698.jpg

    http://img1.sycdn.imooc.com//climg/5fdde10b09a92ca213640620.jpg


    老师,不知道为什么我这边打印到控制台上中文和写在代码中的不一样,如果刷新浏览器页面,这段文字又会改变


    vscode 的编码格式也是utf-8的


    我百度了也没找到原因,请您帮我看一下是什么原因


    2020-12-19 19:19:20
  • 及瓯都市 回复 提问者 日拱一卒_ #3

    ?

    2020-12-22 13:06:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师