אילן:
"נכון שלמדנו על תורת המשחקים ועל משפט צרמלו? אז המצאתי משחק!
אבל אני לא יודע אם יש בו כמות סופית של מהלכים, או שנתקע בתוכו לנצח..."
בר:
"אוקיי, תספר לי מה המשחק ואני אעזור לך לפתור את זה? כיף לי שאנחנו חושבים ביחד!"
אילן:
"אז זה הולך ככה. יש שורה עם מטבעות וכולם מונחים כשהצד של המספר כלפי מעלה"
בר:
"אה, אתה יודע שלצד של המספר קוראים פלי שזה קיצור של פלשתינה?
הצדדים נקראים 'עץ' (ציור) ו-'פלי' (המספר) כי בתקופת המנדט הבריטי על צד אחד של המטבע היה ציור של ענף עץ זית, ועל הצד השני היה כתוב פלשתינה. אמא שלי לימדה אותי את זה"
אילן:
"נו בר, תתרכזי...
בקיצור, כל אחד מאיתנו בוחר בתור שלו את אחד המטבעות שעדיין מופיעים עם 'פלי' והופך גם אותו וגם את המטבע שצמוד אליו מצד ימין. אז אם שניהם עם 'פלי' - שניהם יהפכו ל'עץ'. אבל אם המטבע שמימין הוא עם 'עץ' כלפי מעלה - אז ה'פלי' הופך ל'עץ' וה'עץ' הופך ל'פלי'"
בר:
"ואם אני בוחרת את המטבע הכי ימני, אז אני הופכת רק אותו?"
אילן:
"בדיוק! אבל תזכרי שאת יכולה לבחור אותו רק אם הוא 'פלי'.
אנחנו משחקים ככה בתורות, עד שאולי מתישהו כל המטבעות מגיעים למצב שהצד של 'עץ' כלפי מעלה. מי שזה קורה בתור שלו, מנצח!"
בר:
"אם אתה שואל אותי, אני די בטוחה שהמשחק בטוח יסתיים אחרי כמה תורות...
אבל אני לא יודעת למי מהשחקנים יש אסטרטגיה מנצחת..."
אילן:
"טוב, אם את די בטוחה בזה - אני חושב שזו יכולה להיות חידה טובה להיום!
נניח שמתחילים עם 42 מטבעות כי זה הרי ה-מספר שאנחנו אוהבים...
אז במקרה שהמשחק לוקח הכי הרבה תורות שאפשר - כמה תורות הוא ייקח?"
בר:
"ומה לגבי השאלה שלי על האסטרטגיה המנצחת?"
אילן:
"טוב, זה בטח תלוי במספר השחקנים ובמספר המטבעות ההתחלתי.
אבל על זה אפשר לחשוב ביחד אחרי שנסיים לפתור את החידה!"
___________
מוזמנות ומוזמנים לפתור את החידמטיקה בתמונה המצורפת.
ברק, תלמיד התוכנית בקבוצת ו' בפתח תקווה, מספר כיצד מצא את הפתרון:
"קודם כל ניסיתי עם 3 מטבעות, ויצא לי שהכי הרבה תורות זה 6,
אחר כך ניסיתי עם 4 מטבעות ויצא לי 10, ניסיתי עם 5 מטבעות ויצא לי 15,
עם 6 מטבעות יצא לי 21.
שמתי לב שההפרש בין כל כמות תורות כשעולים במספר המטבעות גדל ב 1 כל פעם,
ולכן הסקתי שאני צריך לחבר את המספרים בין 1 ל 42 כדי להגיע לכמות התורות המקסימלי.
עשיתי זאת ויצא לי 903."
__________
עמית, תלמידת התוכנית בקבוצת ו' בכפר סבא, מוסיפה גם כיצד מתנהל המשחק הארוך ביותר:
"קודם כל לקחתי פיזית 42 מטבעות וסידרתי אותם בשורה על השולחן.
הגעתי למסקנה שבמשחק הקצר ביותר יהיו 21 תורות, והמשחק הזה יקרה כשהשחקן הראשון יבחר את במטבע השמאלי ביותר ויהפוך את שני המטבעות השמאליים ביותר, והשחקן השני יבחר את המטבע השלישי מצד שמאל ויהפוך אותו ואת המטבע הרביעי מצד שמאל, וכך הלאה עד שבתור ה21 השחקן הראשון יהפוך את שני המטבעות הימניים ביותר.
מפני שהמשחק הקצר ביותר התחיל מהמטבע השמאלי ביותר חשבתי שאולי כדאי לי להתחיל מהמטבע ימני ביותר. אז כך עשיתי והפכתי את המטבע הימני ביותר, ואחריו את המטבע השני מימין ואת הימני ביותר החזרתי לפלי, ואחריו את המטבע השלישי מימין ואת השני מימין החזרתי לפלי, עד שהגעתי למטבע השמאלי ביותר.
בדרך הזאת הגעתי למינימום מטבעות עם עץ כלפי מעלה שיכולתי לקבל ב-42 תורות: הגעתי לשורה בה המטבע השמאלי ביותר הוא עם עץ כלפי מעלה, ו-41 המטבעות האחרים עם פלי כלפי מעלה.
מהרגע שהמטבע השמאלי ביותר עם עץ כלפי מעלה, אי אפשר להפוך אותו בחזרה יותר, לכן כשהגעתי אליו ולא יכולתי להמשיך חזרתי שוב למטבע הימני ביותר. עשיתי את אותו הדבר רק שהפעם היו לי רק 41 תורות עד שהפסקתי את הרצף.
כך המשכתי שוב ושוב כשבכל סיום של רצף המספר השמאלי ביותר שעם פלי כלפי מעלה הפך לעץ.
את הרצף המשכתי עד שנשארתי עם שורה שבה המטבע הימני ביותר הוא עם פלי כלפי מעלה ושאר המטבעות עם עץ כלפי מעלה,
ורק נשאר לי להפוך את המטבע הימני ביותר שהוא המטבע האחרון שנשאר עם פלי כלפי מעלה.
מפני שברצף הראשון הפכתי מטבע אחד מפלי לעץ כלפי מעלה ב-42 תורות, וברצף השני הפכתי עוד מטבע אחד מפלי לעץ כלפי מעלה ב-41 תורות, וכך המשכתי עד הרצף האחרון שבו הפכתי את המטבע האחרון מפלי לעץ כלפי מעלה בתור אחד, כך קיבלתי את התרגיל הזה: 42+41+40+39+38.....+1 = 903
לכן 903 הוא מספר התורות המקסימלי לסיום המשחק."
__________
איתן, תלמיד התוכנית בקבוצת ו' בנתניה, חקר את החידה לעומק יחד עם אביו:
"קודם כל ניסיתי להבין מה האסטרטגיה שמייצרת את המשחק הארוך ביותר. המשחק הקצר ביותר מתקבל כשמתחילים להפוך את המטבעות משמאל לימין (כי אז בכל פעם הופכים שתי מטבעות). המשחק הארוך ביותר מתקבל כשמתחילים מימין לשמאל (כי אז כל פעם הופכים מטבע אחד, או שהופכים מטבע ומחזירים מטבע שמימין אליו, ואז מתחילים שוב עם המטבע ""עץ"" שנמצא במיקום הימני ביותר).
בעזרתו של אבא בנינו קוד שמצייר את כל השלבים בלולאה (ואז גם מצאנו את התשובה בפעם הראשונה). אבל רצינו למצוא דרך יותר יפה.
מה ששמנו לב זה שאם יש 5 מטבעות לדוגמה, אז זה כמו לפתור את הבעיה של 4 מטבעות, ולהוסיף עוד 5 שלבים עבור המטבע הנוסף.
כך לדוגמה 6 מטבעות זה כמו לפתור את הבעיה של 5 מטבעות ולהוסיף 6 שלבים עבור המטבע הנוסף.
בצורה כזו הגדרנו פונקציה באמצעות מחשב שמשתמשת ב"רקורסיה" וחישבנו את התוצאה.
הנה הפונקציה, היא כתובה ב-R. אבא עזר לי עם החידה הזו.
recurse_sol <- function(n){
if (n == 1){
1
} else {
recurse_sol(n-1) + n
}
}
recurse_sol(42)
"
כל הכבוד לכל מי ששלחו תשובה לחידה זו!