4 回答

TA貢獻1777條經(jīng)驗 獲得超3個贊
您不需要嵌套循環(huán)。僅使用一個循環(huán),并在內(nèi)部add根據(jù)當前迭代的 10 次方遞增,并將結(jié)果添加到總和中:
const count = 3
let sum = 0;
let add = 0;
for (i = 0; i < count; i++){
add += 3 * 10 ** i;
sum += add;
}
console.log(sum);

TA貢獻1883條經(jīng)驗 獲得超3個贊
您可以使用該padEnd()
方法在字符串末尾添加填充。請使用該padEnd()
方法檢查解決方案的代碼片段。這樣,您可以避免字符串連接或額外的循環(huán)。
const count = 5;
let number = 3;
let sum = 0;
for(i = 1; i <= count; i++) {
? sum += Number(number.toString().padEnd(i, number.toString()));
? console.log(i.toString() + ". " + number.toString().padEnd(i, number.toString()));
}
console.log("Sum: " + sum);

TA貢獻1860條經(jīng)驗 獲得超9個贊
重復一個數(shù)字:
const x = 3;
Number(`${x}`.repeat(1)); //=> 3
Number(`${x}`.repeat(2)); //=> 33
Number(`${x}`.repeat(3)); //=> 333
Number(`${x}`.repeat(4)); //=> 3333
Number(`${x}`.repeat(5)); //=> 33333
所以從這樣的數(shù)組[3, 3, 3, 3, 3]我們可以做:
[3, 3, 3, 3, 3].map((x, i) => Number(`${x}`.repeat(i+1)));
//=> [3, 33, 333, 3333, 33333]
但我們不需要手動用n 個相同的數(shù)字填充數(shù)組:
const n = 5;
const x = 3;
Array(n).fill(x);
//=> [3, 3, 3, 3, 3]
或者:
Array.from(Array(n), () => x);
//=> [3, 3, 3, 3, 3]
但顯然,如果我們可以對每個項目應用一個函數(shù),我們也可以生成完整的系列:
Array.from(Array(n), (_, i) => Number(`${x}`.repeat(i+1)));
//=> [3, 33, 333, 3333, 33333]
最后我們可以將級數(shù)簡化為所有數(shù)字的總和:
[3, 33, 333, 3333, 33333].reduce((tot, x) => tot + x, 0);
//=> 37035
所以我們總共有:
const n = 5; // use prompt() but don't forget to coerce the result into a number
const x = 3;
Array.from(Array(n), (_, i) => Number(`${x}`.repeat(i+1)))
.reduce((tot, x) => tot + x, 0);
如果您不需要生成一個系列,那么遞歸函數(shù)可能更簡單:
const sum_series =
(x, n, tot=0) =>
n === 0
? tot
: sum_series(x, n-1, tot+=Number(`${x}`.repeat(n)))
sum_series(3, 5);
//=> 37035

TA貢獻1818條經(jīng)驗 獲得超8個贊
這就是你問我的問題,所以我轉(zhuǎn)而將迭代編號字符串化,以便將其添加到數(shù)組中,然后減少 javascript 屬性以求和它的所有元素!
const number = 5;
let sum = 3;
let added = '';
let add = [];
sum = sum.toString();
added = sum;
for(let i = 0; i<number; i++){
? add.push(added);
? added += sum;
}
let result = add.reduce((ant,sum)=>{
? return parseInt(ant) + parseInt(sum);
});
console.log(result);
您可以這樣使用它:const number =提示(“輸入多少數(shù)字”);
添加回答
舉報