מספר חיובי – num ייקרא "מספר מושלם" אם מתקיים התנאי שלפניכם: מחברים את כל המחלקים החיוביים והשלמים של num (המספרים שאם מחלקים את num בהם מקבלים תוצאה ללא שארית), חוץ ממנו, והסכום שמתקבל שווה למספר המקורי.
דוגמה למספר מושלם: המספר 6 , כי המחלקים שלו הם: 1 , 2 , 3 , והסכום שלהם הוא 6 .
דוגמה נוספת למספר מושלם: המספר 28 , כי המחלקים שלו הם: 1 , 2 , 4 , 7 , 14 , והסכום שלהם הוא 28 .
דוגמה למספר שאינו מספר מושלם: המספר 8 , כי המחלקים שלו הם: 1 , 2 , 4 , והסכום שלהם הוא 7
(1) כתבו פעולה חיצונית ששמה isPerfect בשפת Java או IsPerfect בשפת C#, המקבלת מספר שלם num הגדול מ־ 2. הפעולה מחזירה true אם הוא מספר מושלם, אחרת היא מחזירה false .
(2) כתבו פעולה חיצונית ששמה thePerfects בשפת Java או ThePerfects בשפת C#, המקבלת שני מספרים שלמים הגדולים מ־ 2 : low high . הפעולה תדפיס את כל המספרים המושלמים שבין שני מספרים אלה (כולל).
הניחו ש־ low קטן מ־ high או שווה לו.
הערה: אפשר להיעזר בפעולה שכתבתם בתת־סעיף (1).
דוגמה: בעבור 4=low ו־ 10=high הפעולה תדפיס 6 . הסבר: מן המספר 4 ועד 10 , רק המספר 6 הוא מספר מושלם (המספר 4 אינו מספר מושלם כי סכום המחלקים שלו: 1 , 2 , הוא 3 , המספר 5 אינו מספר מושלם כי רק המספר 1 מחלק אותו, וכן הלאה).
יש השערה שלא קיים מספר אי־זוגי שהוא מספר מושלם.
כתבו פעולה חיצונית ששמה noOdd בשפת Java או NoOdd בשפת C#, המחזירה 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 בשפת Java או IsPerfect בשפת C#, המקבלת מספר שלם num הגדול מ־ 2. הפעולה מחזירה true אם הוא מספר מושלם, אחרת היא מחזירה false .
(2) כתבו פעולה חיצונית ששמה thePerfects בשפת Java או ThePerfects בשפת C#, המקבלת שני מספרים שלמים הגדולים מ־ 2 : low high . הפעולה תדפיס את כל המספרים המושלמים שבין שני מספרים אלה (כולל).
הניחו ש־ low קטן מ־ high או שווה לו.
הערה: אפשר להיעזר בפעולה שכתבתם בתת־סעיף (1).
דוגמה: בעבור 4=low ו־ 10=high הפעולה תדפיס 6 . הסבר: מן המספר 4 ועד 10 , רק המספר 6 הוא מספר מושלם (המספר 4 אינו מספר מושלם כי סכום המחלקים שלו: 1 , 2 , הוא 3 , המספר 5 אינו מספר מושלם כי רק המספר 1 מחלק אותו, וכן הלאה).
יש השערה שלא קיים מספר אי־זוגי שהוא מספר מושלם.
כתבו פעולה חיצונית ששמה noOdd בשפת Java או NoOdd בשפת C#, המחזירה true אם אכן מבין כל המספרים 3 עד 999,999 (כולל) אין מספר מושלם שהוא אי־זוגי. אחרת היא מחזירה false .
הערה: אפשר להיעזר בפעולה שכתבתם בתת־סעיף א(1).