פורסם 2007 בינואר 418 שנים החידה: יש 3 כוסות. אחת מכילה 8 ליטר. שניה 5 ליטר. שלישית 3 ליטר.הכוס הראשונה מלאה ב8 ל' ושאר הכוסות ריקות.על ידי מזיגות בין הכוסות צריך להגיע למצב בו יהיו 4 ליטר, 4 ליטר ו-0 ליטר.עכשיו אני צריך ב-C++ לתת את עץ הפיתרונות (עץ החלטה) של אופציות המזיגה (מבלי לחזור על מצב מסויים פעמיים)איך אני עושה זאת ברקורסה?
פורסם 2007 בינואר 518 שנים כמה פרמטרים הפונ שלך יכולה לקבל?בגדול, כל פעם תוריד ליטר מהראשונה ותוסיף לשניה. אחר כך תוריד מהשניה ותשים בשלישית.כל פעם תבדוק אם קיבלת מה שרצית.שאלה דיי טפשית מכיוון שאפשר לבדוק אם 2 כוסות מסויימות יכולות להכיל 4L(ולא צריך רקורסיה).אתה בטוח שרשמת את כל השאלה?
פורסם 2007 בינואר 518 שנים וואלה זו השאלה שג'רמי איירונס נתן לברוס וויליס וסמואל ל. ג'קסון ב-"מת לחיות 3"
פורסם 2007 בינואר 618 שנים בגלל שזה רקורסיה ואני מניח שאתה לא יכול למזוג ליטר אחד בכל פעם כל מה שעליך לבדוק זה את כל הענפים האפשריים. כלומר ללשפוך מכל כוס לכל כוס בשתי מגבלות:1. אם הכוס קטנה יותר אז אתה יכול לשפוך רק את מה שהיא יכולה להכיל, כלומר מעבר נוזל הוא בנפח או מה שריק במטרה או מה שיש במקור (הקטן משתיהם).2. שפכת מכוס א' לכוס ב' בשלב הבא אי אפשר להחזיר מכוס ב' ל- א' (גם זה לא בדיוק מדוייק, צריך מעט לחדד את זה, כי אם שפכת ליטר מכוס א' לכוס ב' אך עכשיו יש בכוס ב' 4 ליטר אז מותר לך להחזיר אותם - כלומר המגבלה לא להחזיר מכוס לכוס את אותה כמות המים).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.