מספר האפשרויות למערך מסודר בסדר לא יורד

נתון מערך בגודל n וערך שלם חיובי max.

ברצוננו לשבץ במערך n מספרים מתוך המספרים 1 עד max, כך שהמספרים יהיו מסודרים במערך בסדר לא יורד (כלומר, סדר עולה, אך יכולים להיות גם מספרים שווים).

דוגמאות:

אם גודל המערך הוא n = 3 ו-max = 2 (כלומר, המספרים האפשריים הם 1,2), אז יש לנו 4 אפשרויות לסדר את המערך כך שהמספרים יהיו בסדר לא יורד:

  1. {1,1,1}
  2. {1,1,2}
  3. {1,2,2}
  4. {2,2,2}

אם גודל המערך הוא n = 2 ו-max = 3 (כלומר, המספרים האפשריים הם 1,2,3), אז יש לנו 6 אפשרויות לסדר את המערך כך שהמספרים יהיו בסדר לא יורד:

  1. {1,1}
  2. {1,2}
  3. {1,3}
  4. {2,2}
  5. {2,3}
  6. {3,3}

בהינתן גודל של מערך n ומספר מקסימלי max יש להחזיר את מספר האפשרויות שיש למלא את המערך במספרים מהתחום 1 עד max כך שיהיו מסודרים בסדר לא יורד.

השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.

אילוצים:

פתרון מתמטי (מציאת נוסחה שתמצא את התשובה) לא יתקבל!

דוגמה 1:
קלט:
n = 3,
max = 2
פלט:
4

הסבר: עבור מערך באורך 3 ומספר מקסימלי 2, יש 4 אפשרויות: {1,1,1}, {1,1,2}, {1,2,2}, {2,2,2}

דוגמה 2:
קלט:
n = 2,
max = 3
פלט:
6

הסבר: עבור מערך באורך 2 ומספר מקסימלי 3, יש 6 אפשרויות: {1,1}, {1,2}, {1,3}, {2,2}, {2,3}, {3,3}

דוגמה 3:
קלט:
n = 1,
max = 5
פלט:
5

הסבר: עבור מערך באורך 1 ומספר מקסימלי כלשהו, יש רק אפשרות אחת - מערך עם המספר הנתון

דוגמה 4:
קלט:
n = 5,
max = 1
פלט:
1

הסבר: עבור מערך באורך 5 ומספר מקסימלי 1, יש רק אפשרות אחת - מערך שכולו 1

דוגמה 5:
קלט:
n = 4,
max = 3
פלט:
15

הסבר: עבור מערך באורך 4 ומספר מקסימלי 3, יש 15 אפשרויות

דוגמה 6:
קלט:
n = 3,
max = 1
פלט:
1

הסבר: עבור מערך באורך 3 ומספר מקסימלי 1, יש רק אפשרות אחת - מערך שכולו 1

דוגמה 7:
קלט:
n = 2,
max = 4
פלט:
10

הסבר: עבור מערך באורך 2 ומספר מקסימלי 4, יש 10 אפשרויות

דוגמה 8:
קלט:
n = 5,
max = 4
פלט:
56

הסבר: עבור מערך באורך 5 ומספר מקסימלי 4, יש 56 אפשרויות

Loading...
נשמרLn 1, Col 1

קלט:

n = 3,
max = 2

הפלט המבוקש:

4