适合新手在学习中提升
- 求S = a + aa + aaa + aaaa + aaaaa + aaaaaa + aaaaaaa+…… a和n从键盘输入,例如用户输入的a是2,n是5,则要求将2+22+222+2222+22222的和计算出来
分析:将S=2+22+222+2222+22222拆解。
22=20+2 、 222=200+22 、 2222=2000+222 、 …
第一次循环:设222为当前数num , 222是200+ 22。
(1) 设200、2000为temp,每个等式左边的temp为前一个等式temp*10得到。
(2) 可得 当前数num = 等式左边的temp + 前一个数num。
(3) 等式当前总值sum = 上一个循环的sum和 + 当前数num。
var a = Number(prompt("请输入a的值:"));
var n = Number(prompt("请输入n的值:"));
var temp=a,sum=a,he=a;
for(var i = 1;i <= n-1;i++){
if(n>1){
temp = temp*10; //30 300
num= temp+num; //30+3 300+33
sum = sum+num; //3+33 333+36
}
//0的值为1时,直接输出a的值
}
alert(sum);
- 有一个分数列2/1,3/2,5/3,8/5,13/8,21/13….,求前20项的和
分析:s=2/1+3/2+5/3+8/5+13/8+…
设a为分子,b为分母。第一次的初始值为1/2,循环19次。
(1)3=2+1 前一次的分母与分子分母相加,得到当前分子
(2)2=2+1-1 a+b-b得到当前