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

כמה פתרונות יש למשוואה

מאתגר Java

המשימה

נתונה משוואה מהצורה a·x² + b·x + c = 0.

כתוב פעולה שמקבלת את שלושת המקדמים ומחזירה את **מספר** הפתרונות
הממשיים. לא את הפתרונות עצמם.

  2   — שני פתרונות שונים
  1   — פתרון יחיד
  0   — אין פתרון
  -1  — אינסוף פתרונות

כש-a שונה מאפס זו משוואה ריבועית, ומספר הפתרונות נקבע לפי הדיסקרימיננטה
b² − 4ac: חיובית שניים, אפס אחד, שלילית אפס.

כש-a שווה אפס זו כבר לא משוואה ריבועית אלא b·x + c = 0, וצריך לחשוב
עליה בנפרד. וכש-גם b אפס נשאר רק c = 0, שזה או תמיד נכון או לעולם לא.

דוגמאות:
  1, -3, 2   →  2     (x=1, x=2)
  1, 2, 1    →  1     (x=-1 כפול)
  1, 0, 1    →  0
  0, 2, 4    →  1     (משוואה קווית, x=-2)
  0, 0, 5    →  0     (5=0, אף פעם)
  0, 0, 0    →  -1    (0=0, תמיד)

הנחיות:
• חשב את הדיסקרימיננטה רק אחרי שווידאת ש-a אינו אפס.
• אין צורך בשורש ריבועי — מספר הפתרונות נקבע מהסימן בלבד.
• שלושת המקרים של a=0 הם המקום שבו רוב הפתרונות נשברים. עבור עליהם
  אחד-אחד לפני שאתה כותב.

קוד הפתיחה

public class Main {

    public static int rootCount(int a, int b, int c) {
        // כתוב את הפתרון כאן
        return 0;
    }

    public static void main(String[] args) {
        System.out.println(rootCount(1, -3, 2));   // 2
        System.out.println(rootCount(1, 2, 1));    // 1
        System.out.println(rootCount(1, 0, 1));    // 0
        System.out.println(rootCount(0, 2, 4));    // 1
        System.out.println(rootCount(0, 0, 5));    // 0
        System.out.println(rootCount(0, 0, 0));    // -1
    }
}

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

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