练习题——for循环

180 阅读1分钟

1.求S=a+aa+aaa+aaaa+aaaaa+aaaaaa+aaaaaaa+...a和n从键盘输入,例如用户输入的a 是2,n是5,则要求将2+22+222+2222+22222的和计算出来。

第一种方法:直接用字符串的方法将多个相同的数字连接起来,然后再相加

                    var a=Number(prompt(""));
		var n=Number(prompt(""));
		var re="";
		var sum=0;
		for(var i=0;i<n;i++){
			re+=a;
			console.log(re)
			sum+=Number(re)
			console.log(sum)
		}

第二种方法:将22拆分为20+2

		var a=Number(prompt(""));
		var b=Number(prompt(""));
		var re=a;sum=a;num=a;
		for(var i=0;i<b-1;i++){
			if(b>1){
				num=num*10;
				re=num+re;
				sum=re+sum;
			}
			console.log(sum)
		}

2.有一个分数列2/1,3/2,5/3,8/5,13/8,21/13...求前20项的和

                    var num=0,n=2,m=1
		for(var i=1;i<19;i++){
			re=n/m;
			m=n;
			n=2*i+1
			num+=re
			console.log(num)
		}

3.求Fibonacci数列40个数,这个数列特点为:第1,2两个数为1,1,从第三开始,该数是前面两个数的和。即1,1,2,3,5,8,13,21

                    var n=1;m=1;
		for(var i=1;i<39;i++){
			var num=n+m;
			n=m;
			m=num;
			console.log(num)
		}

4.猴子吃桃问题:猴子第一天摘下入港桃子,当即吃了一半,还不过瘾,又多吃一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

                    var n=1;m=1.5;
		for(var i=0;i<9;i++){
			n=n+m;
			console.log(n)
		}

5.一个球从1000米高空下落,落地后弹起,每次弹起的高度是下落时的一半,问第五次落地时弹起的高度,一共又经历了多长的距离?

                    var num=1000;sum=0;
		var re;
		for(var i=0;i<5;i++){
			re=num;
			num=num/2;
			sum+=num+re;
			console.log(num,sum)
		}