שני כיווני בדיקה על אותו רעיון: קדימה (מצטבר משמאל) באיטרציה רגילה, והפוך (מצטבר מימין) שדורש רקורסיה כי אי אפשר לדעת מראש את הסכום שעוד לא נראה.
שני כיווני בדיקה על אותו רעיון: קדימה (מצטבר משמאל) באיטרציה רגילה, והפוך (מצטבר מימין) שדורש רקורסיה כי אי אפשר לדעת מראש את הסכום שעוד לא נראה.
דוגמה ל"שרשרת סכומים": כל איבר (פרט לראשון) הוא סכום כל האיברים שלפניו (1=1, 2=1+1, 4=1+1+2, 8=1+1+2+4 וכו').
chain → 1 → 1 → 2 → 4 → 8 → 16 → 32 → null
דוגמה ל"שרשרת סכומים הפוכה": כל איבר (פרט לאחרון) הוא סכום כל האיברים שאחריו (2=2, 2=2, 4=2+2, 8=4+2+2 וכו', בכיוון הפוך).
chain → 64 → 32 → 16 → 8 → 4 → 2 → 2 → null
סעיף א
כתבו פעולה אשר מקבלת הפניה לחוליה הראשונה של שרשרת חוליות ומחזירה true אם השרשרת היא "שרשרת סכומים", ואם לא, הפעולה מחזירה false.
public static bool IsSumChain(Node<int> chain)
סעיף ב
כתבו פעולה אשר מקבלת הפניה לחוליה הראשונה של שרשרת חוליות ומחזירה true אם השרשרת היא "שרשרת סכומים הפוכה", ואם לא, הפעולה מחזירה false.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.