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