求s=a+aa+aaa+aaaa+aa...a的值,解决办法---JavaScript--for循环

求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
思路:
根据题干,可以找出运算规律:

		8			          =8*10的0次方
		88				      =8+8*10的1次方			
		888				       =8+8*10的1次方+8*10的2次方
		8888                          ……			
		88888                     以此类推

得出规律:num*10的n次方+初始值=初始值的循环结果
方法1:

function fIVe(){ 
	var mag=Number(prompt("请输入数字")	);           
	var die=Number(prompt("请输入相加次数")	);
	var sum=0;                 //每次循环的结果的初始值
	var result=0;               //每次循环结果的累加结果  初始值
	for(var n=0;n<die;n++){
		sum=sum+mag*Math.pow(10, n);   //    每次循环的结果
		result=result+sum;	}              //每次循环加数的和
	document.write(result)             //得到答案
  }

方法2:

num=8     count=6  var n=0
8			10  num    var n =n*10+num   n=0 count=1    0*10+8=8
88								n*10+num      8*10+8=88		
888									          88*10+8=888
8888
88888

得出规律:输入值+循环变量n*10赋值给循环变量n,进行循环计算

function fun3(){
		var num = Number(prompt("请输入一个数:"));
		var count=Number(prompt("叠加的个数:"))
		var n=0,sum=0;//n表示每一个加数,sum表示所有累加的和
		for(var i=1;i<=count;i++){
			n=n*10+num;//每一个加数
			sum+=n;     //每一个加数的和
		}
		console.log(sum);	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值