const n = 200.0000
const length = 100
const N = []
for (let i = 0; i < length; i++) {
N[i] = Math.floor((i ? N[i - 1] / 2 : n) * 10000) / 10000 // урезание
}
N.forEach((n, i) => {
console.log('N[%d] = %s', i, n.toFixed(4))
})
Цитата:
|
i ? N[i - 1] / 2 : n
|
Так как метод "toFixed" округляет число, данное выражение нужно для того, чтобы вводимое значение "200.00006", к примеру, не округлилось до "200.0001" при выводе, поэтому, мы его не пушим сразу в массив, а урезаем вместе с остальными значениями в цикле. Можно вынести его присваивание за пределы цикла, но, дабы избежать дублирования кода, для наглядности, путь будет так.