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