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 דרכים.

lock icon+13 בדיקות נסתרות בשליחה

challenge icon

שאלת המשך

מה אם חלק מהמדרגות שבורות וייתכן שלעולם לא תעמוד עליהן? איך נוסחת הנסיגה משתנה, ומהו מספר הדרכים להגיע למדרגה שבורה?

איפוס הקוד
def climbStairs(n):
    # כתבו כאן קוד
מקרי בדיקה

מקרה 1

מקרה 2

קלט

n = 3

צפוי

3