概述
题目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的简便计算方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复