אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות בפייתון — הנדסאי תוכנהמבחן 2024 · קיץ מועד א · שאלה 5כל שאלות המבחן ←
תכנות בסיסימערכים חד-ממדיים

רשימה של מספרים שלמים חיוביים נקראת רשימה "מושלמת 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)

סעיף ג

מהי סיבוכיות הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי