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

מספר משוכלל

בינוני C#

המשימה

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

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

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

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

```ds:table
{"title":"איך זה נראה","rows":[["n","המחלקים בלי n","סכומם","משוכלל?"],["6","1 · 2 · 3","6","כן"],["12","1 · 2 · 3 · 4 · 6","16","לא"],["28","1 · 2 · 4 · 7 · 14","28","כן"],["1","אין","0","לא"]]}
```

קוד הפתיחה

using System;

class Program {

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

    static bool IsPerfect(int n) {
        // השתמש ב-SumOfDivisors
        return false;
    }

    static void Main() {
        Console.WriteLine(SumOfDivisors(6));   // 6
        Console.WriteLine(SumOfDivisors(12));  // 16
        Console.WriteLine(IsPerfect(6));       // True
        Console.WriteLine(IsPerfect(28));      // True
        Console.WriteLine(IsPerfect(12));      // False
    }
}

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

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