Мини-урок · перед практикой

Список квадратов

Перебираем основания квадратов, пока квадрат не превышает 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).