Предмет: Информатика, автор: Vadimdd

python Задача. Треугольная последовательность
Дана монотонная последовательность, в которой каждое натуральное число k встречается ровно k раз: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, ...

По данному натуральному n выведите первые n членов этой последовательности. Попробуйте обойтись только одним циклом for.

Входные данные
Вводится натуральное число n.

Выходные данные
Выведите ответ на задачу.

Примеры
входные данные
2
выходные данные
1 2
входные данные
5
выходные данные
1 2 2 3 3


Wani4kaa: Какие ограничения для n?

Ответы

Автор ответа: Wani4kaa
3

Будем поддерживать переменную cur и хранить в ней текущее число для вывода. Также будем поддерживать переменую k и хранить количество уже выведенных чисел cur. В цикле будем выводить cur и увеличивать k на 1. Если k стало равно cur, увеличим cur на 1 и сбросим k на 0. И, очевидно, будем делать это n раз.


Код

n = int(input())

cur = 1

k = 0

for i in range(n):

   print(cur, end=' ', flush=True)

   k = k + 1

   if k == cur:

       k = 0

       cur = cur + 1

print()


Похожие вопросы
Предмет: Математика, автор: алекс3277