מערך של מספרים שלמים חיוביים נקרא מערך "מושלם K" אם הוא עונה על התנאי הבא:
מערך של מספרים שלמים חיוביים נקרא מערך "מושלם K" אם הוא עונה על התנאי הבא:
הסכום של כל K האיברים ההתחלתיים במערך (האיברים אשר נמצאים במקומות 0,1,2,...,K-1) מתחלק ב-K ללא שארית.
לדוגמה: המערך הבא הוא מערך "מושלם 5":
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| ערך | 7 | 1 | 4 | 1 | 2 | 3 | 1 | 2 | 3 |
כי סכום של חמשת האיברים הראשונים 15=7+1+4+1+2 מתחלק ב-5.
כתבו פעולה המקבלת מערך של מספרים שלמים חיוביים arr ומספר שלם חיובי K.
הפעולה תחזיר ערך true, אם המערך "מושלם K", ולא, הפעולה תחזיר ערך false. כותרת הפעולה:
public static boolean isPerfectK(int[] arr, int k)
מערך של מספרים שלמים חיוביים נקרא מערך "סופר מושלם" אם הוא מערך מושלם K עבור כל ערך של K מ-1 עד לאורך המערך.
לדוגמה: המערך הנתון:
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| ערך | 7 | 1 | 4 | 1 | 2 | 3 | 1 | 2 | 3 |
הוא לא מערך "סופר מושלם" כי הוא לא מערך "מושלם 4".
כתבו פעולה המקבלת מערך של מספרים שלמים חיוביים arr. הפעולה תחזיר ערך true, אם המערך "סופר מושלם", ולא, הפעולה תחזיר ערך false. כותרת הפעולה:
public static boolean isSuperPerfect(int[] arr)
מהי סיבוכיות הפעולות שכתבתם בסעיפים א' ו-ב'. הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.