Menu
CoddyTech

Climbing Stairs

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

الدالة

climbStairs(n: integer) → integer
ninteger
عدد الدرجات في السُّلَّم
تُرجعinteger
عدد المتتاليات المختلفة من خطوات بمقدار 1 وخطوات بمقدار 2 التي تصل إلى الخطوة n

القيود

  • 1 ≤ n ≤ 45
  • الإجابة تقع ضمن نطاق عدد صحيح موقّع من 32 بت: n = 45 يعطي 1836311903.

أمثلة

المدخلات
n = 3
المخرجات
3
الشرح
يمكن صعود ثلاث درجات على النحو 1, 1, 1، أو 1, 2، أو 2, 1، لذا توجد 3 طرق.
challenge icon

سؤال إضافي

ماذا لو كانت بعض الخطوات معطّلة، وربما لا تستطيع الوقوف عليها أبدًا؟ كيف تتغيّر علاقة العودية، وما العدد الخاص بالخطوة المعطّلة؟

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

اختبار #1

اختبار #2

وسيط

n = 3

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

3