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