老师,请问求1+2+...+100的和用 n+factorial(n+1)的思路如何实现?

老师,请问求1+2+...+100的和用 n+factorial(n+1)的思路如何实现?

请问如果按照题意,用1加到100这种数字递增的方式,如何实现累加思路呢?

正在回答

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

2回答

同学你好,这个题没法用递增的方式实现。对1、2、3......n求和(sum(n)),我们已知的就是sum(1)=1(对1求和等于1),所以只能利用sum(1)求sum(n)的值,因此只能递减,如下:

function factorial(n) {
      if (n == 1) return 1;
      return n + factorial(n - 1);
}
alert(factorial(100))

假设n是2,即求1、2的和,那么过程如下:

n初始是2, factorial(2) =n + factorial(n - 1)=2+factorial(1);

factorial(1)会继续计算,此时n是1,得到factorial(1)=1;

factorial(2) =2+factorial(1)=2+1=3,得到了结果。

祝学习愉快!

  • 这样算不算无赖方法qaq~

    var i = 1

            var n = Number(prompt('求1~多少的和?'));

            function fn() {

                if (i == n) {

                    return n;

                }

                return i + fn(i++ + 1);

            }

            var re = fn();

            alert(re)


    2022-12-06 15:41:08
  • 本质是属于递归的,思路不错,很棒,可以供老师参考。比较无赖,fn不够封闭,必须依赖全局变量i。

    2022-12-06 16:21:11
帅哥但自卑 2022-12-06 15:39:58

 var i = 1

        var n = Number(prompt('求1~多少的和?'));

        function fn() {

            if (i == n) {

                return n;

            }

            return i + fn(i++ + 1);

        }

        var re = fn();

        alert(re)


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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