Menu
CoddyTech
flag Ar iconالعربيةdown icon

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