אורי שלח לי תיקון פתרון לשאלה שמפורסמת כאן:
http://www.jobhunt.co.il/interviews_db.php
מה דעתכם על הפתרון שהוא מציע?
השאלה והפתרון המקוריים:
יש 10 שקים עם 10 מטבעות בכל שק, כאשר ב-9 מהשקים כל המטבעות זהים במשקל נתון
ובשק אחד יש 10 מטבעות במשקל שונה, נתון גם הוא.
לא ניתן לזהות את השק השונה לפי מראהו החיצוני אלא רק לפי שקילה.
השאלה: לרשותך שקילה אחת בלבד! על מנת לומר איזה שק הוא השונה?
התשובה: יש למספר את השקים מ-1 עד 10. לאחר מכן יש להוציא משק מספר אחד מטבע אחד,
משק מספר 2 יש להוציא 2 מטבעות וכך הלאה עד שק עשר שממנו יש להוציא 10 מטבעות.
יש לשקול בשקילה אחת את כל 55 המטבעות שהוצאנו מהשקים.
נניח כי כל מטבע שוקל 10 גרם, במקרה זה היינו מקבלים תוצאת שקילה של 550 גרם.
בכל מקרה נקבל משקל שקטן מזה מכיוון שיש לנו מספר מטבעות במשקל שונה.
ההפרש בין תוצאת השקילה שנבצע לבין 550 גרם יתן את מספר המטבעות בעלות המשקל השונה וזהו בדיוק האינדקס של השק השונה אותו אנו מחפשים.
לסיכום: ההפרש הוא האינדקס של השק השונה!!!
יש לכם טעות כאן לדעתי.
האינדקס של השק השונה יתקבל כאשר תחלקו את ההפרש בין 550 גרם לתוצאת השקילה ואת התוצאה תחלקו בהפרש בין המשקלים הנתונים.
לדוגמא:
נניח שהמשקל הסטנדרטי הוא 10 גרם והמשקל הלא סטנדרטי הוא7 גרם. ההפרש הוא 3.
אם השק עם המשקל הלא סטנדרטי הוא שק 5 הרי שהייתם מקבלים את הדבר הבא:
תוצאת המשקל : 535.
ההפרש הינו 15
15 לחלק ל-3 (ההפרש בין המשקלים 10 ו-7) נותן 5 שזהו אכן האינדקס של השק עם המשקל השונה....
כלומר יש לתקן את הפתרון שלכם כך:
התשובה: יש למספר את השקים מ-1 עד 10. לאחר מכן יש להוציא משק מספר אחד מטבע אחד,
משק מספר 2 יש להוציא 2 מטבעות וכך הלאה עד שק עשר שממנו יש להוציא 10 מטבעות.
יש לשקול בשקילה אחת את כל 55 המטבעות שהוצאנו מהשקים.
נניח כי כל מטבע שוקל 10 גרם, במקרה זה היינו מקבלים תוצאת שקילה של 550 גרם.
בכל מקרה נקבל משקל שקטן מזה מכיוון שיש לנו מספר מטבעות במשקל שונה.
ההפרש בין תוצאת השקילה שנבצע לבין 550 גרם חלקי ההפרש בין המשקלים הנתונים יתן את מספר המטבעות בעלות המשקל השונה וזהו בדיוק האינדקס של השק השונה אותו אנו מחפשים.
לסיכום: ההפרש הוא האינדקס של השק השונה!!!