כל מספר טבעי (שלם חיובי) ניתן להציג כסכום של חזקות של מספר טבעי factor כלשהו, כאשר כל חזקה מופיעה פעם אחת לכל היותר.
לדוגמה, את המספר 9 = num אפשר להציג כך:
2⁰ + 2³ = 1 + 8 = 9 factor = 2
3² = 9 factor = 3
את המספר 19 = num אפשר להציג כך:
2⁰ + 2¹ + 2⁴ = 1 + 2 + 16 = 19 factor = 2
את המספר 28 = num אפשר להציג כך:
2² + 2³ + 2⁴ = 4 + 8 + 16 = 28 factor = 2
3⁰ + 3³ = 1 + 27 = 28 factor = 3
את המספר 42 = num אפשר להציג כך:
2¹ + 2³ + 2⁵ = 2 + 8 + 32 = 42 factor = 2
6¹ + 6² = 6 + 36 = 42 factor = 6
את המספר 73 = num אפשר להציג כך:
2⁰ + 2³ + 2⁶ = 1 + 8 + 64 = 73 factor = 2
8⁰ + 8¹ + 8² = 1 + 8 + 64 = 73 factor = 8
את המספר 273 = num אפשר להציג כך:
2⁰ + 2⁴ + 2⁸ = 1 + 16 + 256 = 273 factor = 2
4⁰ + 4² + 4⁴ = 1 + 16 + 256 = 273 factor = 4
16⁰ + 16¹ + 16² = 1 + 16 + 256 = 273 factor = 16
בהינתן מספר שלם חיובי num יש להחזיר את המספר factor הגדול ביותר מבין המספרים 2 ו-num-2 כך שאפשר לקבל את num כסכום חזקות של factor, כאשר כל חזקה מופיעה לכל היותר פעם אחת. אם אין מספר כזה יוחזר 0, כמו כן, יש להדפיס את פירוט החזקות של factor שסכומן num.
השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.
num ומספר נוסף factor, ובודקת אם אפשר להציג את num כסכום חזקות של factor.num = 9
9 3
הסבר: המספר שיוחזר יהיה 3 (כי הוא הגדול מבין 2, 3) ויודפס: 9
num = 73
1 8 64 8
הסבר: המספר שיוחזר יהיה 8 (כי הוא הגדול מבין 2, 8) ויודפס: 1 8 64
num = 273
1 16 256 16
הסבר: המספר שיוחזר יהיה 16 (כי הוא הגדול מבין 2, 4, 16) ויודפס: 1 16 256
num = 3
0
הסבר: המספר שיוחזר יהיה 0 (כי אין factor אפשרי)
num = 19
1 2 16 2
הסבר: המספר שיוחזר יהיה 2 (אין אפשרות עם 17) ויודפס: 1 2 16
num = 42
6 36 6
הסבר: המספר שיוחזר יהיה 6 (כי הוא הגדול מבין 2, 6) ויודפס: 6 36
num = 28
1 27 3
הסבר: המספר שיוחזר יהיה 3 (כי הוא הגדול מבין 2, 3) ויודפס: 1 27
num = 7
1 2 4 2
הסבר: המספר שיוחזר יהיה 2 (אין אפשרות עם 5) ויודפס: 1 2 4
קלט:
num = 9
הפלט המבוקש:
9 3