תרגול מדעי המחשב

מספר משוכלל

בינוני Java

המשימה

מספר משוכלל הוא מספר ששווה לסכום מחלקיו (חוץ מעצמו).
למשל 6 = 1+2+3, ולכן 6 משוכלל.

כתוב **שתי** פעולות:
  1. sumOfDivisors(n) — מחזירה את סכום המחלקים של n, לא כולל n עצמו.
  2. isPerfect(n) — משתמשת בראשונה ומחזירה true אם n משוכלל.

דוגמאות:
  6   →  true
  28  →  true
  12  →  false

הנחיות:
• הפעולה השנייה חייבת לקרוא לראשונה. זו מטרת התרגיל — פירוק לתת-בעיות.

[טבלה]

קוד הפתיחה

public class Main {

    public static int sumOfDivisors(int n) {
        // כתוב את הפתרון כאן
        return 0;
    }

    public static boolean isPerfect(int n) {
        // השתמש ב-sumOfDivisors
        return false;
    }

    public static void main(String[] args) {
        System.out.println(sumOfDivisors(6));   // 6
        System.out.println(sumOfDivisors(12));  // 16
        System.out.println(isPerfect(6));       // true
        System.out.println(isPerfect(28));      // true
        System.out.println(isPerfect(12));      // false
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא ברכה בשם ‹
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.