Необходимо сделать, чтобы помимо основной функции, которая сейчас работает, в каждой строке массива количество его элементов увеличивалось на 1, т.е. в первой строке 1, во второй - 2, 4, в третьей - 3,6,9, в четвертой - 4, 8, 12, 16 и т.д. У меня так не получается.
var n = 5;
var m = 1;
var s = 1;
for (var i = 1; i <= n; i++) {
var arr = new Array();
arr.push(m);
m++;
if (arr > 1) {
var p = 2;
for (var w = 1; w <= s; w++) {
var z = arr[0] * p;
arr.push(z);
p++;
while (s <= 5) {
s++;
}
}
}
document.write(arr, "<br>");
}
Уберите конструкцию while и оставьте s++, пусть индекс поднимается после перехода на новую строку, а то Вы его изначально ставите максимальным, и по итогу в строке вместо нужного кол-ва символов всегда 1 + 6.
var n = 5;
var m = 1;
var s = 1;
for (var i = 1; i <= n; i++) {
var arr = new Array();
arr.push(m);
m++;
if (arr > 1) {
var p = 2;
for (var w = 1; w <= s; w++) {
var z = arr[0] * p;
arr.push(z);
p++;
}
s++;
}
document.write(arr, "<br>");
}
второй цикл немного намудрили. У вас итерируется переменная m в верхнем уровне, вот ее и используйте. Следовательно переменная s уже не будет нужна.
var n = 5;
var m = 1;
for (var i = 1; i <= n; i++) {
var arr = new Array();
arr.push(m);
m++;
if (arr > 1) {
var p = 2;
for (var w = 1; w < m - 1; w++) {
var z = arr[0] * p;
arr.push(z);
p++;
}
}
document.write(arr, "<br>");
}
var n = 10;
var m = 1;
var s = 0;
for (var i = 0; i <= n; i++) {
var arr = new Array();
arr.push(m);
m++;
if (arr > 1) {
var p = 2;
for (var w = 1; w <= s; w++) {
var z = arr[0] * p;
arr.push(z);
p++;
}
}
s++;
document.write(arr, "<br>");
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники