Menu
CoddyTech

Steps to Reduce a Number to Zero

ابدأ بعدد صحيح غير سالب n وكرّر قاعدة واحدة حتى يصل إلى 0: إذا كان العدد زوجيًا، فاقسمه على 2؛ وإذا كان فرديًا، فاطرح 1. يُعدّ كل تطبيق للقاعدة خطوة واحدة. أعد عدد الخطوات اللازمة.

الدالة

numberOfSteps(n: integer) → integer
ninteger
العدد الابتدائي
تُرجعinteger
عدد الخطوات حتى يصل العدد إلى 0

القيود

  • 0 ≤ n ≤ 231 - 1

أمثلة

المدخلات
n = 14
المخرجات
6
الشرح
يتناقص العدد هكذا: 14 → 7 → 6 → 3 → 2 → 1 → 0: ثلاث عمليات تنصيف وثلاث عمليات طرح، 6 خطوات.
challenge icon

سؤال إضافي

افترض أن العدد الفردي يمكنه أيضًا أن يزداد بمقدار 1. ما أقل عدد من الخطوات اللازمة للوصول إلى 0، وأي اختيار هو الصحيح للعدد 15؟

إعادة ضبط الشيفرة
def numberOfSteps(n):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

وسيط

n = 14

الإخراج المتوقع

6