Среди чисел найти первое число, большее n

Среди чисел 1, 4, 9, 16, 25, ... найти первое число, большее n. Решить задачу используя циклическую конструкцию for.

Закономерность я уже понял

даны квадраты чисел: 1²; 2²; 3²; 4²; 5²; 6².....

1 - это 1² = 1 * 1 = 1

4 - это 2² = 2 * 2 = 4

9 - это 3² = 3 * 3 = 9

16 - это 4² = 4 * 4 = 16

25 - это 5² = 5 * 5 = 25

36 - это следующее число 6² = 6 * 6 = 36

А как реализовать через for не знаю

вроде так

for i in range(N):
  if i * i > N:
    print(i*i)
    break

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

Автор решения: Zhihar
  1. перебрать все числа от первого и дальше через for

  2. если число больше n - запомнить его и выйти из цикла (break)

→ Ссылка
Автор решения: Danis

попробуйте так:

int(N ** .5 + 1) ** 2             
→ Ссылка
Автор решения: TigerTV.ru

Перебор:

i = 1
s = 1
while s <= N:
    i += 2
    s += i
print(s)

A можно так:

x = 1 
x0 = 0
while x != x0:
    x0 = x
    x = (x + n // x) >> 1
x += 1
print(x*x)
→ Ссылка