必威体育Betway必威体育官网
当前位置:首页 > IT技术

JS中关于a+aa+aaa+aaaa的简便计算方法

时间:2019-10-09 15:13:24来源:IT技术作者:seo实验室小编阅读:81次「手机版」
 

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ㄒ)/~~

相关阅读

flume之退避算法backoff algorithm

flume之退避算法backoff algorithm什么是退避算法:In a single channel contention based medium access control (MAC) protocols

HashMap详细介绍

本篇文章转载自脚本之家:https://www.jb51.net/article/42769.htm 第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的

iOS xib错误:an internal error occurred.editing fun

在xib中提示错误:an internal error occurred.editing functionality may be limited 解决办法: 去 ~/Library/Developer/Xcode/De

[经验分享]破解Word中保护文档密码

[经验分享]破解Word中保护文档密码 0X00起因 周五受到一个新的任务,需要对一些表格数据进行汇总, 没想到,最后一个文件中,尽然

2018中科院软件所,计算所,南京大学夏令营。记录。

说是2018,指的是2018年的夏令营。2019年入学。 今年感觉竞争还是比去年要....激烈挺多。 哇当时压力也挺大的。而且我这么菜。 自

分享到:

栏目导航

推荐阅读

热门阅读