|
||||
|
||||
אפילו לא צריך את כולם 26=1-(4+5)*3 ואפשר לוותר על ה 2 ועל ה / |
|
||||
|
||||
אני חושב שהקטע זה להשתמש בדיוק פעם אחת בכל מספר וסימן. |
|
||||
|
||||
למישהו יש פתרון לשאלה הזאת שמשתמש בכל הספרות? |
|
||||
|
||||
יש קישור "פתרון לחידה" בדף ששלח הקשה. הבעייה היא שכל אחד מהפתרונות המוצעים שם הוא תטל"א. אם אני מבין נכון, הם מציעים: a. 26 = 4 x (5 + 3 / 2) שזה נכון אבל לא משתמש ב-1 ולא בחיסור;b. 26 = 5 x (3/2 - 1 + 4) שזה סתם לא נכון, ואני לא רואה איך לתקן את זה;c. 26 = (51+4-3)/2 שמשתמש ב-1 ו-5 כדי לייצר את הצירוף 51 (רמאות?), וממילא לא מכיל את ארבע פעולות החשבון;d. 26 = 5 x (2+4) - 3 - 1 וכאן משתמש פעמיים בחיסור ואף פעם לא בחילוק.כמובן שאפשר לכתוב תכנית קטנה, אם יהיה לי זמן אנסה. |
|
||||
|
||||
כן, חשבתי ככה, אני אשמח אם תוכל לנסות לכתוב תוכנית, אני ניסיתי ולא מצאתי. |
|
||||
|
||||
אם אין לי באג בתכנית, אז לא ניתן להגיע ל-26 תוך שימוש במספרים 1,2,3,4,5 (כל אחד בדיוק פעם אחת) ובארבע פעולות החשבון (כל אחת בדיוק פעם אחת). |
|
||||
|
||||
יפה. עכשיו כתוב תוכנית שבודקת אם אין לך באג בתוכנית. |
|
||||
|
||||
אצל מגיבים מסויימים באייל הקורא זה עובד כך: אין לי באג בתכנית. אתה לא מסכים? בבקשה: רשום את המספר 26 כנדרש. |
|
||||
|
||||
תפרסם את התוכנית, ונעשה לך code review |
|
||||
|
||||
מכיר GAP? |
|
||||
|
||||
בטח יש באייל מי שיוכל לקרוא את התוכנה שלך. |
|
||||
|
||||
calc := function(pairs, ops) הקופי-פייסט הרס את העימוד, מצטער. אם מישהו ממש מתעניין אני יכול להסביר מה יש פה, אבל נראה לי שכבר נסחפנו מספיק. לעניין האלגנטיות, נכון: זה חפוז ומכוער ממדרגה ראשונה; הקצבתי לזה כרבע שעה.
local l, i, p, op, x, y, r, ind; l := [1,2,3,4,5]; for i in [1..4] do p := pairs[i]; op := ops[i]; x := l[p1]; y := l[p2]; if op=1 then r := x+y; fi; if op=2 then r := x-y; fi; if op=3 then r := x*y; fi; if op=4 then if y = 0 then r := 999999; else r := x/y; fi; fi; l[p1]:=r; ind := [1..6-i]; RemoveSet(ind, p2); l := l{ind}; od; return l1; end; allpairs := Cartesian(Arrangements([1..5],2), Arrangements([1..4],2), Arrangements([1..3],2), Arrangements([1..2],2)); allops := PermutationsList([1..4]); for pairs in allpairs do for ops in allops do c := calc(pairs, ops); if c = 26 then Print(pairs, " ",ops, "\\n"); fi; od; od; |
|
||||
|
||||
הדבר המוזר הוא ש-26 הוא המספר הראשון שאי-אפשר להציג כך... |
|
||||
|
||||
בדרך לפה נסעתי במונית שמספרה 26. איזה מספר משעמם... |
|
||||
|
||||
לא היית פה כשדיברנו על 1/2 + 8/4 + 27/8 + 64/16 + 125/32 + 216/64 + 343/128 + ...? |
|
||||
|
||||
לא, לא הייתי (?). איזה מספר משעמם היה שם? |
|
||||
|
||||
תחשב בעצמך... |
|
||||
|
||||
לא יודע למה טרחתי לחשב, הרי ידעתי את התשובה מראש... |
|
||||
|
||||
בדיוק :-) |
|
||||
|
||||
בשביל הספורט שבעניין, החלטתי שגם אני אנסה לחשב בעצמי (חישוב ידני מדויק, ללא עזרת תוכנות וללא קרוב ע"י סיכום האיברים הראשונים של הטור). עשרים שניות מאוחר יותר כבר היה ברור לי שאני חלוד לחלוטין. בצר לי, הסתפקתי בשיטה היחידה שעלתה במוחי: יציאה מפונקציית הסכום של טור גאומטרי, מלווה בשלוש איטרציות של גזירה וכפל במנת הטור. לבסוף, הצבתי חצי עבור המנה 1 ואכן קבלתי כמצופה תוצאה משעממת להפליא. שאלתי היא: האם יש לכם דרכים פשוטות ואלגנטיות יותר לביצוע המשימה? 1 בילדותי, נהגתי לעשות דברים דומים עם פלאפל. |
|
||||
|
||||
לא שאני יודע - וזו דווקא נראית לי דרך אלגנטית למדי... כל הכבוד. |
|
||||
|
||||
אה, עכשיו אתה גורם לי להרגיש כמו ילד בן 11 שהצליח לראשונה בחייו לקשור את השרוכים לבד :) |
|
||||
|
||||
דרך אלגנטית יותר, לא. אבל, אם ב''פשוטה'' אתה מתכוון לאלמנטרית הרי שאין הכרח בפונקציות יוצרות, אפשר לחשב את הטור ''ישר''. |
|
||||
|
||||
מספיק עם הפרומואים. עבור לתכל'ס. |
|
||||
|
||||
טוב, זה לא כל כך מענין. כל שהתכונתי לומר הוא שאפשר לעשות את אותם חישובים בלי לקרוא לזה פונקציות יוצרות. בשונה ממקרים אחרים של שימוש בכלים "מתוחכמים", כאן זה סביר. לדוגמא: נניח שברצונך לחשב את \\sigma_{n=1}^\\infty n/(2^n) קל לראות שזה שוה ל\\sigma_{n=1}^\\infty \\sigma_{i=n}^\\infty 1/(2^i) וזה שווה ל\\sigma_{n=1}^\\infty 1/(2^(n-1)) ששוה ל2 ואם טעיתי באיזה קבוע אני לא מתנצל. במילים אחרות, ניתן לראות זאת כסכום על מערך רב מימדי. מאחר וכל הטורים כאן הם גיאומטריים, החישובים קלים. |
|
||||
|
||||
גישה נאה. תודה. ______ (וסתם תהיה: האם התנצלויות על טעויות בקבועים, כשישנן, גורמות לך להרגיש שנגרע משהו מכבודך?) |
|
||||
|
||||
נהפוך הוא. בתור מי שמחשיב את עצמו עיוני, טעויות בקבוע גורמות לי לתחושת גאווה בלתי נשלטת. |
|
||||
|
||||
אני מאחל (מכל הלב, וללא ציניות) שהקריירה העיונית אליה אתה שואף תזמן לך הישגים ראויים יותר לגאוה. |
|
||||
|
||||
תודה. אני עובד על זה (עד כדי קבוע). |
|
||||
|
||||
הקביעות היא החלק המרכזי בקריירה העיונית :) |
|
||||
|
||||
אה. לי, לדוגמא, מגיע פרס וולף (עד כדי קבוע 1 ). 1 דמיוני טהור, אבל בוא נשאיר קטנוניויות כגון דא ליישומיים ושאר זוחלי-על-גחון. |
|
||||
|
||||
אם מגיע לך פרס וולף עד כדי קבוע 1, הרי שמגיע לך פרס וולף וזהו. בשביל לא לבזבז תגובה, הנה חידה ששמעתי היום (בתקווה שאני ואתה איננו היחידים הקוראים פתיל זה): על לוח של 9x9 משבצות שמים חיפושיות, אחת על כל משבצת. כל החיפושיות, כחיפושית אחת, עושות צעד אחד באלכסון ונוחתות על משבצת סמוכה (אלכסונית). מה המספר המקסימלי האפשרי של משבצות עם חיפושיות? |
|
||||
|
||||
אולי התכוונת: "*לכל היותר* אחת על כל משבצת"? |
|
||||
|
||||
האם כולם קופצות באותו כיוון אלכסוני, או שאפשר להצליב וכולי? |
|
||||
|
||||
לא כולן חייבות לקפוץ לאותו כיוון. זה גם בלתי אפשרי (אם רוצים שכולן תנחתנה בתוך הלוח). |
|
||||
|
||||
1. לצערי, הקבוע קרוב יותר ל- 2PI*i (החיים כרזידואום...). 2. מה עם הפתרונות לחידת השחמט הקודמת? 3. יש לי סיבה לחשוב שבלוח של (2n+1)^2 משבצות, המספר המקסימלי של משבצות תפוסות לאחר הצעד הוא2n(2n+1) במקרה הנכחי (n=4) זה יוצא 72.
|
|
||||
|
||||
הפתרון נכון, וכפי שצוין, בלוח בגודל זוגי (בריבוע) אפשר לחלק לריבועים של 2x2, וכך לכסות את כולם. פתרון ביה"ס (אם יהיה צורך) בערב. |
|
||||
|
||||
בהנחה שכל החיפושיות עוברות סימולטנית, וחיפושית יכולה לעבור למשבצת שהיתה תפוסה לפני המעבר, המקסימום הוא 64. נניח שהצעד הוא לכוון שמאל-למעלה. הטור השמאלי (9 משבצות) והעמודה העליונה (9 משבצות, אחת משותפת עם הטור השמאלי) חייבים להיות פנויים (הם בקצה, אין להם לאן לזוז) כל שאר המשבצות יכולות להיות מאוישות (מחופשות?). 64= 1+(9-2)*9 |
|
||||
|
||||
והפתרון הכללי, לכל רבוע של n*n משבצות, הוא כמובן (n-1)2^2
|
|
||||
|
||||
לך תכתוב נוסחאות באייל. כמובן שיש שם "2" מיותר. n-1 בריבוע. |
|
||||
|
||||
ריבוע שגודלו 4n*4n ניתן לחלק לריבועים (זרים) של 4*4, כל ריבוע כזה יכול להישאר מאוכלס במלואו (על-ידי החלפת מקומות בין פינות מנוגדות) כך שהפתרון בוודאי אינו נכון לכל ריבוע. |
|
||||
|
||||
אם אתה לא מחייב מעבר באותו כיוון אלא (למשל) מסדר את החיפושיות בזוגות אפשר להגיע ל72. אולי אפשר גם ליותר, אני (בינתיים) לא הצלחתי. |
|
||||
|
||||
זהו, שהשאלה לא הוגדרה כראוי. ראובן התיחס לכך בתגובה 248480 אבל לא קיבל תשובה. ההנחה שלי היתה תזוזה לאותו כוון. |
|
||||
|
||||
כבר קיבל. והייתי רוצה למחות על זמני התגובה המצופים ממני :-) |
|
||||
|
||||
חלק את הלוח ל"קליפות" ריבועיות: משבצת מרכזית (בוא נניח שהיא לבנה לצרכי ייעול) המוקפת בקליפה של 8, שבעצמה מוקפת בקליפה של 16 וכן הלאה. כעת, מספר את הקליפות באופן עוקב. כאשר מתבצעת התזוזה, כל חיפושית שעל משבצת לבנה חייבת להחליף את זוגיות הקליפה (זה לא בהכרח נכון לגבי אלו שעל המשבצות השחורות). ההפרש בין מספרן הכולל של המשבצות בקליפות הזוגיות לסך כל אלו שבאי-זוגיות, הוא חסם תחתון על מספר המשבצות שחייבות להתפנות. לכן: 72 (או שיש לי טעות בהוכחה). להראות שהמקסימום הזה מושג, הוא מלאכה פשוטה בהרבה. |
|
||||
|
||||
*היא* מלאכה פשוטה בהרבה. *היא*. _______ ומכיון שכשלתי מלשלב בתשובתי לעיל את תערו המחליד (והמחליא) של אוקם, אסתפק ב"שובך היונים". |
|
||||
|
||||
הרוש םידיספמ ךכו, תויגוז תורושמ קר עיגהל רשפא תויגוזיאה תורושל. |
|
||||
|
||||
מהאופן שבו אני מבין את גישתך, נראה לי שיש בה באג. אנא פרט, כדי שאוכל לדעת אם אכן הבנתי כראוי. |
|
||||
|
||||
תוקיר תוצבשמ עשת תוחפל שי ןכלו - םייגוזה תומוקמה הששו םישולשמ ועיגה םייגוזיאה תומוקמה השימחו םיעבראב תוישופיחה לכ, הציפקה ירחא. תויגוזיא שמחו תויגוז עברא, תורוש עשת שי חולל. |
|
||||
|
||||
עכשיו זה ברור, ואכן אלגנטי ופשוט יותר מההסבר שלי (אבל לא בצורה היסטרית :) ). |
|
||||
|
||||
ועוד תיקון (הפעם קצת יותר ענייני): הכוונה היתה ל"ההפרש בין מספרן הכולל של המשבצות *הלבנות* בקליפות הזוגיות לסך כל אלו שבאי-זוגיות..." |
|
||||
|
||||
חידה חמודה מאוד. תודה! |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |