המשימה
מספר נקרא **שמח** אם כאשר מחליפים אותו שוב ושוב בסכום ריבועי ספרותיו, מגיעים בסופו של דבר ל-1. דוגמה עבור 19: 19 → 1² + 9² = 82 82 → 8² + 2² = 68 68 → 6² + 8² = 100 100 → 1² + 0² + 0² = 1 ✓ שמח מספר שאינו שמח נכנס למחזור אינסופי שעובר תמיד דרך 4. כתוב **שתי** פעולות: 1. פעולה שמקבלת מספר ומחזירה את סכום ריבועי ספרותיו. 2. פעולה שמקבלת מספר ומחזירה true אם הוא שמח, בעזרת הפעולה הראשונה. הנחיות: • תנאי עצירה: הגענו ל-1 (שמח) או הגענו ל-4 (לא שמח). • זו הנקודה של התרגיל — הפירוק לשתי פעולות. פתרון בפעולה אחת ארוכה אינו עונה על המשימה. [טבלה]
קוד הפתיחה
public class Main {
public static int squareDigitSum(int n) {
// פעולת עזר — סכום ריבועי הספרות
return 0;
}
public static boolean isHappy(int n) {
// כתוב את הפתרון כאן — השתמש בפעולת העזר
return false;
}
public static void main(String[] args) {
System.out.println(squareDigitSum(19)); // 82
System.out.println(isHappy(19)); // true
System.out.println(isHappy(7)); // true
System.out.println(isHappy(1)); // true
System.out.println(isHappy(4)); // false
System.out.println(isHappy(2)); // false
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.