מציאת שלשות במערך

נתון מערך חד-ממדי a המלא במספרים שלמים חיוביים הממוינים בסדר עולה ממש (כלומר, אין מספרים שווים).

ומספר שלם סופי num. יש להדפיס את כל שלשות המספרים שבמערך שמכפלתם היא num.

השיטה צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם מבחינת סיבוכיות המקום.

דוגמה 1:
קלט:
a = [1, 2, 3, 4, 5, 7, 8, 9],
num = 40
פלט:
1	5	8
2	4	5

הסבר: השלשות 1, 5, 8 ו-2, 4, 5 מכפלתן שווה ל-40.

דוגמה 2:
קלט:
a = [1, 4, 5, 6, 7],
num = 120
פלט:
4	5	6

הסבר: השלשה 4, 5, 6 מכפלתה שווה ל-120.

דוגמה 3:
קלט:
a = [2, 3, 5, 7, 11],
num = 30
פלט:
2	3	5

הסבר: השלשה 2, 3, 5 מכפלתה שווה ל-30.

דוגמה 4:
קלט:
a = [1, 2, 3, 4, 5, 6],
num = 60
פלט:
2	5	6
3	4	5

הסבר: השלשות 2, 5, 6 ו-3, 4, 5 מכפלתן שווה ל-60.

דוגמה 5:
קלט:
a = [3, 5, 7, 9, 11],
num = 165
פלט:
3	5	11

הסבר: השלשה 3, 5, 11 מכפלתה שווה ל-165.

דוגמה 6:
קלט:
a = [1, 2, 3, 6],
num = 18
פלט:
1	3	6

הסבר: השלשה 1, 3, 6 מכפלתה שווה ל-18.

דוגמה 7:
קלט:
a = [1, 2, 3, 6],
num = 6
פלט:
1	2	3

הסבר: השלשה 1, 2, 3 מכפלתה שווה ל-6.

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

קלט:

a = [1, 2, 3, 4, 5, 7, 8, 9],
num = 40

הפלט המבוקש:

1	5	8
2	4	5