Menu
CoddyTech

Square Root (Integer)

Твоя функция получает неотрицательное целое число x и возвращает его целочисленный квадратный корень: наибольшее целое число r, для которого r × r ≤ x. Иными словами, квадратный корень округляется вниз, поэтому для числа, не являющегося полным квадратом, возвращается корень из ближайшего меньшего полного квадрата. Вычисли его самостоятельно, не используя встроенную функцию квадратного корня или возведения в степень.

Функция

mySqrt(x: integer) → integer
xinteger
неотрицательное целое число, квадратный корень из которого нужно извлечь
Возвращаетinteger
квадратный корень из x, округлённый вниз до целого числа

Ограничения

  • 0 ≤ x ≤ 231 - 1
  • Не вызывай встроенные функции для вычисления квадратного корня, возведения в степень или экспоненты.

Примеры

Ввод
x = 17
Вывод
4
Пояснение
4 × 4 = 16 не больше 17, но 5 × 5 = 25 больше, поэтому корень из 17 округляется вниз до 4.

lock icon+17 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Как бы ты нашёл целочисленный кубический корень — наибольшее r, для которого r × r × r ≤ x, — если бы x могло быть и отрицательным?

Сбросить код
def mySqrt(x):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Ввод

x = 17

Ожидается

4