נתון מערך בגודל n וערך שלם חיובי max.
ברצוננו לשבץ במערך n מספרים מתוך המספרים 1 עד max, כך שהמספרים יהיו מסודרים במערך בסדר לא יורד (כלומר, סדר עולה, אך יכולים להיות גם מספרים שווים).
דוגמאות:
אם גודל המערך הוא n = 3 ו-max = 2 (כלומר, המספרים האפשריים הם 1,2), אז יש לנו 4 אפשרויות לסדר את המערך כך שהמספרים יהיו בסדר לא יורד:
{1,1,1}{1,1,2}{1,2,2}{2,2,2}אם גודל המערך הוא n = 2 ו-max = 3 (כלומר, המספרים האפשריים הם 1,2,3), אז יש לנו 6 אפשרויות לסדר את המערך כך שהמספרים יהיו בסדר לא יורד:
{1,1}{1,2}{1,3}{2,2}{2,3}{3,3}בהינתן גודל של מערך n ומספר מקסימלי max יש להחזיר את מספר האפשרויות שיש למלא את המערך במספרים מהתחום 1 עד max כך שיהיו מסודרים בסדר לא יורד.
השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.
פתרון מתמטי (מציאת נוסחה שתמצא את התשובה) לא יתקבל!
n = 3, max = 2
4
הסבר: עבור מערך באורך 3 ומספר מקסימלי 2, יש 4 אפשרויות: {1,1,1}, {1,1,2}, {1,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}
n = 1, max = 5
5
הסבר: עבור מערך באורך 1 ומספר מקסימלי כלשהו, יש רק אפשרות אחת - מערך עם המספר הנתון
n = 5, max = 1
1
הסבר: עבור מערך באורך 5 ומספר מקסימלי 1, יש רק אפשרות אחת - מערך שכולו 1
n = 4, max = 3
15
הסבר: עבור מערך באורך 4 ומספר מקסימלי 3, יש 15 אפשרויות
n = 3, max = 1
1
הסבר: עבור מערך באורך 3 ומספר מקסימלי 1, יש רק אפשרות אחת - מערך שכולו 1
n = 2, max = 4
10
הסבר: עבור מערך באורך 2 ומספר מקסימלי 4, יש 10 אפשרויות
n = 5, max = 4
56
הסבר: עבור מערך באורך 5 ומספר מקסימלי 4, יש 56 אפשרויות
קלט:
n = 3, max = 2
הפלט המבוקש:
4