Menu
CoddyTech

Square Root (Integer)

Fonksiyonunuz negatif olmayan bir tam sayı x alır ve tam sayı karekökünü döndürür: r × r ≤ x koşulunu sağlayan en büyük tam sayı r. Yani aşağı yuvarlanmış kareköktür; tam kare olmayan bir sayı için kendisinden küçük en yakın tam karenin karekökünü verir. Yerleşik bir karekök veya üs alma fonksiyonu kullanmadan kendiniz hesaplayın.

Fonksiyon

mySqrt(x: integer) → integer
xinteger
karekökü alınacak negatif olmayan tam sayı
Döndürürinteger
x'in karekökünün aşağı yuvarlanarak tam sayıya dönüştürülmüş hâli

Kısıtlar

  • 0 ≤ x ≤ 231 - 1
  • Yerleşik karekök, kuvvet veya üs alma işlevini çağırmayın.

Örnekler

Girdi
x = 17
Çıktı
4
Açıklama
4 × 4 = 16 en fazla 17'dir, ancak 5 × 5 = 25 daha büyüktür; bu nedenle 17'nin karekökü aşağı yuvarlanarak 4 olur.

lock iconGönderirken +17 gizli test

challenge icon

Ek soru

Bunun yerine, x negatif de olabilseydi, r × r × r ≤ x koşulunu sağlayan en büyük r olan tam sayı küp kökünü nasıl bulurdun?

Kodu sıfırla
def mySqrt(x):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Girdi

x = 17

Beklenen

4