我是靠谱客的博主 忐忑猎豹,最近开发中收集的这篇文章主要介绍JS中关于a+aa+aaa+aaaa的简便计算方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目Sn=a+aa+aaa+aaaa....+n个a

这个题一个难点就是a的位数是变动的,第一项是一位,第二项是两位,第三项是三位。

首先累加一定要是循环的,但是如何构造出每一项呢?

 

我大概有3种思路。

1、将每一项看做一个字符串,那么这就是一个字符串连接,第一次连接0个,第二次连接1个,第三次连接2个

这也是网上流传的方法,这种方法并不好,尤其是使用了eval这个函数。

        var a=parseInt(window.prompt("请输入数值a"));
        var n=parseInt(window.prompt("请输入数值n"));
        var sum="";
        for(var i=1;i<=n;i++){
            var sum1=0;
            for(var j=0;j<i;j++){
                sum1 = (sum1*10+a);
            }
            sum+=sum1+'+';
        }
        sum=sum.substring(0,sum.length-1);// 构建不等式:7+77+777+7777+77777+777777
        //sum=sum+"0";
        console.log(sum+'='+eval(sum));

思路2:利用一个循环,同时计算每一项并累加。他们的规律是aa=a*10+a,aaa=aa*10+a,后一项=前一项*10+初始值

代码如下:

    var a=Number(window.prompt("请输入a"));
    var n=Number(window.prompt("请输入n"));
    var sum=0,a1=0;
    for(var i=1;i<=n;i++){
        a1=a1*10+a;
        sum+=a1;
    }
    document.write(sum);

思路3和思路2类似。现在它的规律是后一项跟前一项相关,与n是无关的,那么我们能不能用递推吗?

此坑待填,因为我不会写/(ㄒoㄒ)/~~  /(ㄒoㄒ)/~~

最后

以上就是忐忑猎豹为你收集整理的JS中关于a+aa+aaa+aaaa的简便计算方法的全部内容,希望文章能够帮你解决JS中关于a+aa+aaa+aaaa的简便计算方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部