求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); }