רשימה של מספרים שלמים חיוביים נקראת רשימה "מושלמת K" אם היא עונה על התנאי הבא: הסכום של כל K האיברים ההתחלתיים ברשימה (האיברים אשר נמצאים במקומות 0, 1, 2,..., K-1) מתחלק ב-K ללא שארית.
רשימה של מספרים שלמים חיוביים נקראת רשימה "מושלמת K" אם היא עונה על התנאי הבא: הסכום של כל K האיברים ההתחלתיים ברשימה (האיברים אשר נמצאים במקומות 0, 1, 2,..., K-1) מתחלק ב-K ללא שארית.
לדוגמה: הרשימה שלפניכם היא רשימה "מושלמת 5", כי סכום חמשת האיברים הראשונים 7+1+4+1+2=15 מתחלק ב-5.
רשימה של מספרים שלמים חיוביים נקראת רשימה "סופר מושלמת" אם היא רשימה מושלמת K עבור כל ערך של K מ-1 עד לאורך הרשימה. לדוגמה: הרשימה הנתונה (אותה רשימה) אינה רשימה "סופר מושלמת", כי היא לא רשימה "מושלמת 4" (סכום ארבעת האיברים הראשונים 7+1+4+1=13 אינו מתחלק ב-4).
הרשימה לדוגמה ("מושלמת 5", לא "סופר מושלמת").
index: 0 1 2 3 4 5 6 7 8
arr: 7 1 4 1 2 3 1 2 3
כתבו פעולה המקבלת רשימה של מספרים שלמים חיוביים arr ומספר שלם חיובי K. הפעולה תחזיר ערך True, אם הרשימה "מושלמת K", ולא — הפעולה תחזיר ערך False.
is_perfectK(arr, k)
כתבו פעולה המקבלת רשימה של מספרים שלמים חיוביים arr. הפעולה תחזיר ערך True, אם הרשימה "סופר מושלמת", ולא — הפעולה תחזיר ערך False.
is_super_perfect(arr)
מהי סיבוכיות הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.