טוען...
טוען...
מספר חיובי – num ייקרא "מספר מושלם" אם מתקיים התנאי שלפניכם:
מחברים את כל המחלקים החיוביים והשלמים של num (המספרים שאם מחלקים את num בהם מקבלים תוצאה ללא שארית), חוץ ממנו, והסכום שמתקבל שווה למספר המקורי.
✎ דוגמה למספר מושלם
המספר 6, כי המחלקים שלו הם:
1, 2, 3, והסכום שלהם הוא 6.
✎ דוגמה נוספת למספר מושלם
המספר 28, כי המחלקים שלו הם:
1, 2, 4, 7, 14, והסכום שלהם הוא 28.
✎ דוגמה למספר שאינו מספר מושלם
המספר 8, כי המחלקים שלו הם:
1, 2, 4, והסכום שלהם הוא 7.
(1) כתבו פעולה חיצונית ששמה isPerfect, המקבלת מספר שלם – num הגדול מ־ 2. הפעולה מחזירה true אם הוא מספר מושלם, אחרת היא מחזירה false.
(2) כתבו פעולה חיצונית ששמה thePerfects, המקבלת שני מספרים שלמים הגדולים מ־ 2: low, high. הפעולה תדפיס את כל המספרים המושלמים שבין שני מספרים אלה (כולל). הניחו ש־ low קטן מ־ high או שווה לו.
הערה
אפשר להיעזר בפעולה שכתבתם בתת־סעיף (1).
✎ דוגמה
בעבור
low=4ו־high=10הפעולה תדפיס 6.הסבר: מן המספר 4 ועד 10, רק המספר 6 הוא מספר מושלם (המספר 4 אינו מספר מושלם כי סכום המחלקים שלו:
1, 2, הוא 3, המספר 5 אינו מספר מושלם כי רק המספר 1 מחלק אותו, וכן הלאה).
יש השערה שלא קיים מספר אי־זוגי שהוא מספר מושלם.
כתבו פעולה חיצונית ששמה noOdd, המחזירה true אם אכן מבין כל המספרים 3 עד 999,999 (כולל) אין מספר מושלם שהוא אי־זוגי. אחרת היא מחזירה false.
הערה
אפשר להיעזר בפעולה שכתבתם בתת־סעיף א(1).
מספר חיובי – num ייקרא "מספר מושלם" אם מתקיים התנאי שלפניכם:
מחברים את כל המחלקים החיוביים והשלמים של num (המספרים שאם מחלקים את num בהם מקבלים תוצאה ללא שארית), חוץ ממנו, והסכום שמתקבל שווה למספר המקורי.
✎ דוגמה למספר מושלם
המספר 6, כי המחלקים שלו הם:
1, 2, 3, והסכום שלהם הוא 6.
✎ דוגמה נוספת למספר מושלם
המספר 28, כי המחלקים שלו הם:
1, 2, 4, 7, 14, והסכום שלהם הוא 28.
✎ דוגמה למספר שאינו מספר מושלם
המספר 8, כי המחלקים שלו הם:
1, 2, 4, והסכום שלהם הוא 7.
(1) כתבו פעולה חיצונית ששמה isPerfect, המקבלת מספר שלם – num הגדול מ־ 2. הפעולה מחזירה true אם הוא מספר מושלם, אחרת היא מחזירה false.
(2) כתבו פעולה חיצונית ששמה thePerfects, המקבלת שני מספרים שלמים הגדולים מ־ 2: low, high. הפעולה תדפיס את כל המספרים המושלמים שבין שני מספרים אלה (כולל). הניחו ש־ low קטן מ־ high או שווה לו.
הערה
אפשר להיעזר בפעולה שכתבתם בתת־סעיף (1).
✎ דוגמה
בעבור
low=4ו־high=10הפעולה תדפיס 6.הסבר: מן המספר 4 ועד 10, רק המספר 6 הוא מספר מושלם (המספר 4 אינו מספר מושלם כי סכום המחלקים שלו:
1, 2, הוא 3, המספר 5 אינו מספר מושלם כי רק המספר 1 מחלק אותו, וכן הלאה).
יש השערה שלא קיים מספר אי־זוגי שהוא מספר מושלם.
כתבו פעולה חיצונית ששמה noOdd, המחזירה true אם אכן מבין כל המספרים 3 עד 999,999 (כולל) אין מספר מושלם שהוא אי־זוגי. אחרת היא מחזירה false.
הערה
אפשר להיעזר בפעולה שכתבתם בתת־סעיף א(1).