递归有办法输出1-100的整数吗?代码该如何写呢

递归有办法输出1-100的整数吗?代码该如何写呢

我想实现控制台输出1-100的整数,使用递归的方法。
还有个问题,递归是不是只能进行加减乘除计算

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

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

2回答
好帮手慕久久 2021-09-23 10:33:19

同学你好,解答如下:

1、该例子中,n输入100,就能打印出1到100;n输入5,则能打印1-5,比较通用。

2、打印1-100时,为了看得清楚,老师将每个数字之间做了换行处理:

https://img1.sycdn.imooc.com//climg/614be3e40949188f03100139.jpg

n + "<br>"中的<br>,就是换行标签,起到的就是换行作用。

3、整个思路是:

将1-100,都转成字符串,然后将它们拼接成一个完整的字符串:

https://img1.sycdn.imooc.com//climg/614be46e09c1376e07050087.jpg

最后将完整的字符串打印出来,效果就是打印了1-100。

这个思路,存在一个问题,那就是打印的1-100彼此紧挨着,那就想办法让它们不挨着,所以老师拼接了br换行标签,效果如下:

https://img1.sycdn.imooc.com//climg/614be4f00943d98210340152.jpg

按照这个思路写代码,如下:

https://img1.sycdn.imooc.com//climg/614be5e609d9595d09190308.jpg

过程如下:

n是100,执行else,则console(100)=100 + "<br>" + console(99)---》继续计算console(99);

由于 console(99)=99 + "<br>" + console(98),因此 console(100)=100 + "<br>" + console(99)=100 + "<br>" +   99 + "<br>" + console(98)--》继续计算console(98),然后带入公式,则有:

​console(100)=100 + "<br>" + console(99)=100 + "<br>" +   99 + "<br>" + console(98)=100 + "<br>" +   99 + "<br>" +  98 + "<br>" +console(97)

依此类推,console(100)=100 + "<br>" +   99 + "<br>" +  98 + "<br>" +...+2+"<br>" +console(1)。

console(1)中的参数n=1,会执行if中代码,所以console(1)=1。

最终得到了console(100)=100 + "<br>" +   99 + "<br>" +  98 + "<br>" +...+2+"<br>"+ 1。

祝学习愉快!

好帮手慕久久 2021-09-22 17:19:46

​同学你好,解答如下:

1、通过递归可以实现输出1-100:

https://img1.sycdn.imooc.com//climg/614af4aa09f9570506270330.jpg

2、递归不仅仅能进行加减乘除运算,实际开发中,部分复杂的需求,可能需要通过递归来实现。但是这些需求我们几乎接触不到(大神们会用到),所以同学学会视频中讲解的这些内容就够用了。

祝学习愉快!

  • 提问者 怒焰狂暴 #1

    老师,这里使用n + "<br>"是否能讲解下吗?具体的一个推算原理,这里老师可以把100改成5,详细的写一份我看看,谢谢了

    2021-09-22 22:17:19
  • 提问者 怒焰狂暴 #2
    递归的整体知识点大概明白了,老师讲解的案例基本也都能理解,花了整整5天时间才弄懂个大概,真的太绕 了
    2021-09-23 10:39:22
  • 好帮手慕久久 回复 提问者 怒焰狂暴 #3

    同学你好,很棒!递归这里很绕,很多人会不适应这种思维方式,学会视频中讲解到的这些就行了。复杂的知识点接受起来都比较难,以后遇到这样的内容,可以放放,先往后学,学一段时间,再回头学,反复几次,往往会灵机一动、“恍然大悟”、一下子就懂了。

    祝学习愉快!

    2021-09-23 11:02:05
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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