PDA

צפה בגרסה המלאה : [דיון] חידה יפה



matan1212
22-03-2010, 16:32
בכלא אחד יש 10 סוהרים ו-100 תאים

בהתחלה הדלתות היו פתוחים ואז כל שומר עבר על דלת והחליף את מנעולו(אם זה היה פתוח הופך לסגור ואם זה היה סגור פותח)

הסוהרים עוברים בדלתות כך:

סוהר ראשון עובר כל דלת

סוהר שני עובר כל דלת שנייה

סוהר שלישית כל דלת שלישית

וככה הלאה

אחרי שכל הסהורים עברו כמה דלתות היו פתוחות וכמה סגורות?... לי ייצא 51 דלתות פתחות אבל יכול להיות עשיתי משהו לא בסדר

תשובה+הסבר איך הגעתם

nirgt
22-03-2010, 17:05
אולי הדרך שלי לא הכי מקובלת אבל יצא לי 52 פתוחים 48 סגורים. הנה הדרך שלי:
(פתרון בc#)

matan1212
22-03-2010, 17:10
אולי הדרך שלי לא הכי מקובלת אבל יצא לי 52 פתוחים 48 סגורים. הנה הדרך שלי:
(פתרון בc#)

האמת שגם אני עשיתי ב-c# וייצא לי 51 פתוחים משום מה

nirgt
22-03-2010, 17:11
צירפתי את הפתרון שלי.. תעקוב אחריו

matan1212
22-03-2010, 17:19
צירפתי את הפתרון שלי.. תעקוב אחריו

הנה הפיתרון שלי:

http://www.upf.co.il/file/450797.html

האמת אנ לא מוצא טעות לא אצלי ולא אצלך

nirgt
22-03-2010, 17:25
הנה הפיתרון שלי:

http://www.upf.co.il/file/450797.html

האמת אנ לא מוצא טעות לא אצלי ולא אצלך

העלת את הקובץ שאני העלתי..:)

Learn
22-03-2010, 18:34
כל דלת בעלת שורש ריבועי ממשי תשאר סגורה.
כי אם נסתכל על "זוגות של סוהרים" ניווכח כי אם אין שורש ריבועי ממשי אז מספר הסוהרים שיעברו בדלת יהיה זוגי (ואז הדלת תשאר פתוחה) ואם יש שורש ריבועי אז לסוהר אחד לא יהיה זוג והדלת תשאר סגורה.

matan1212
22-03-2010, 18:44
כל דלת בעלת שורש ריבועי ממשי תשאר סגורה.
כי אם נסתכל על "זוגות של סוהרים" ניווכח כי אם אין שורש ריבועי ממשי אז מספר הסוהרים שיעברו בדלת יהיה זוגי (ואז הדלת תשאר פתוחה) ואם יש שורש ריבועי אז לסוהר אחד לא יהיה זוג והדלת תשאר סגורה.


לפי התוכנית שאני רואה שיש דלתות שאין להם שורשים ועדיין הם סגורים

וגם לא הבנתי ממש את ההסבר שלך

אני דווקא יגיד שרק המספרים הראשונים ישארו נעולים

למה מספר ראשוני לא מתחלק בשום מספר כלומר אחרי הפעם הראשונה שינעלו אותו אף אחד לא יגיע אליו

תחשבו על זה....

וגם דלת מספר החילוקים שיש לה מבין המספרים 1-9

נגיד דלת מספר 8 מתחלקת עםם 2,4,8,1 כלומר 4 פעמים יעברו בה

הסוהר הראשון יעבור בה הסוהר השני יעבר בה הסוהר הרביעי יעבור בה והסוהר השמיני יעבור בה כלומר

פעם ראשונה-נעול פעם שנייה -פתוח פעם שלישית-נעול פעם רביעי פתוח

~גיא~
22-03-2010, 19:44
יצא לי 51 פתוחים 49 סגורים :p

matan1212
22-03-2010, 19:47
יצא לי 51 פתוחים 49 סגורים :p


גם לי

דבר מה הדרך?

~גיא~
22-03-2010, 19:49
פתרתי ב-#C >.>

~גיא~
22-03-2010, 20:02
אולי הדרך שלי לא הכי מקובלת אבל יצא לי 52 פתוחים 48 סגורים. הנה הדרך שלי:
(פתרון בc#)
אני חושב שהטעות שלך היא שלקחת מערך בגודל 100 ולא בגודל 101
וכן היית צריך לבצע את הפעולות על התאים שהאינדקס שלהם הוא 1-100
ולא על התאים שהאינדקס שלהם 0-99

nirgt
22-03-2010, 20:39
כן יש מצב