המשימה
מספר נקרא **שמח** אם כאשר מחליפים אותו שוב ושוב בסכום ריבועי ספרותיו,
מגיעים בסופו של דבר ל-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 (לא שמח).
• זו הנקודה של התרגיל — הפירוק לשתי פעולות. פתרון בפעולה אחת ארוכה
אינו עונה על המשימה.
```ds:table
{"title":"המסלול של 19","rows":[["שלב","מספר","סכום ריבועי הספרות"],["1","19","82"],["2","82","68"],["3","68","100"],["4","100","1"]]}
```
קוד הפתיחה
using System;
class Program {
static int SquareDigitSum(int n) {
// פעולת עזר — סכום ריבועי הספרות
return 0;
}
static bool IsHappy(int n) {
// כתוב את הפתרון כאן — השתמש בפעולת העזר
return false;
}
static void Main() {
Console.WriteLine(SquareDigitSum(19)); // 82
Console.WriteLine(IsHappy(19)); // True
Console.WriteLine(IsHappy(7)); // True
Console.WriteLine(IsHappy(1)); // True
Console.WriteLine(IsHappy(4)); // False
Console.WriteLine(IsHappy(2)); // False
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.