Как в цикле вывести определённое количество чисел?

Задача:

Написать программу, которая каждую секунду (максимум секунд - 1000000) выдает очередное число последовательности 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5... (Т.е. число i повторится i раз). За 1 секунду считается 1 выведенное программой число, таким образом, на вводе

5

мы получим ответ

12233

написал простейший код под такую программу

a = parseInt(prompt("Введите кол-во секунд работы генератора"))
for (i = 1; i <= a; i++){
  x = i
  y = x
  for (z = 0; z != y; z++){
  console.log(y)
  }
 }

однако при таком коде ответом для

5

будет являться

1
2
2
3
3
3
4
4
4
4
5
5
5
5
5

Соответственно вопрос: Каким образом прервать цикл там где мне нужно? Пытался добавлять еще переменные пример:

a = parseInt(prompt("Введите кол-во секунд работы генератора"))
c = 0
for (i = 1; i <= a; i++){
  x = i
  y = x
    if (c >= a){
      break
    }
  for (z = 0; z != y; z++){
  console.log(y)
    c += 1
  }
 }

, которые считали бы цикл, но код при них перестает работать.


Ответы (1 шт):

Автор решения: bruh

Решение

a = parseInt(prompt("Введите кол-во секунд работы генератора"))
c = 0
for (i = 1; i <= a; i++){
    if (c >= a){
      break
    }
  for (z = 0; z != i; z++){
  console.log(i)
    c += 1
    if (c >= a){
      break
    }
  }
 }

(Гениально забыл закрыть второй цикл)

→ Ссылка