Мини-урок · перед практикой
Список квадратов
Перебираем основания квадратов, пока квадрат не превышает N.
Как к ней подойти
Разберитесь, как повторять действие, пока выполняется условие, и вовремя остановить цикл.
Коротко о теме
Цикл while продолжается, пока условие истинно. Продумайте, какое значение меняется на каждом шаге и почему цикл когда-нибудь завершится. Проверяйте как обычный ввод, так и случай, когда тело цикла выполняется ноль раз.
Ключевая идея · Умножение
Следующий квадрат получается из следующего натурального основания.
Проверьте перед запуском
- Квадрат, равный N, включается; ноль не является квадратом натурального основания в этой задаче.
После практики
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Умножение
Следующий квадрат получается из следующего натурального основания.
n = int(input())
i = 1
while i * i <= n:
print(i * i, end=" ")
i += 1
Время: O(√N). Память: O(1).
Другой способ: Сумма нечётных чисел
Разности соседних квадратов равны 3, 5, 7 и так далее.
n = int(input())
square, step = 1, 3
while square <= n:
print(square, end=" ")
square += step
step += 2
Время: O(√N). Память: O(1).