גוקר בקרוקר
New member
אפשר עזרה בבקשה? אני צריך למצוא
knapsack problem המתאים לשאלה ששאלתי...חיפשתי בGOOGLE ולא מצאתי את הקוד המתאים... אשמח אם תוכלו לעזור לי לחפש נתון תרמיל גב המסוגל לעמוד בעומס של num ק"ג, ונתונים X חפצים אותם רוצים לקחת לטיול. עבור כל אחד מהחפצים נתון משקלו. צריך לבדוק האם קיים צירוף כלשהו של חפצים המאפשר לנצל במלואו את העומס המותר לתרמיל. כתבו שיטה רקורסיבית בוליאנית המקבלת כפרמטרים את העומס המותר של התרמיל - num ומערך שיכיל את משקלות החפצים. השיטה תחזיר ערך true אם ניתן לאסוף חפצים במשקל זהה לעומס המותר לתרמיל ו- false אם לא. כמו כן, השיטה תדפיס גם את משקלות החפצים המקיימים את התנאי (אם יש כאלה). אם יש יותר מצירוף אחד - יודפס אחד מהם. חתימת השיטה - public static boolean isFillBag (int[] arr, int num) אינכם רשאים לשנות את חתימת השיטה, אבל אתם יכולים להיעזר בשיטה נוספת פרטית שעושה overload לשיטה זו. אתם יכולים להניח שהמערך מלא במספרים שלמים חיוביים בלבד. דוגמאות: 1. עבור M = 10 ורשימת החפצים 14 20 3 10 1 יוחזר true והשיטה תדפיס 10 2. עבור M = 20 ורשימת החפצים 9 3 12 7 15 1 4 יוחזר true והשיטה תדפיס (למשל) 12 7 1 3. עבור M = 12 ורשימת החפצים 11 3 5 18 יוחזר false. השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות בכלל!
knapsack problem המתאים לשאלה ששאלתי...חיפשתי בGOOGLE ולא מצאתי את הקוד המתאים... אשמח אם תוכלו לעזור לי לחפש נתון תרמיל גב המסוגל לעמוד בעומס של num ק"ג, ונתונים X חפצים אותם רוצים לקחת לטיול. עבור כל אחד מהחפצים נתון משקלו. צריך לבדוק האם קיים צירוף כלשהו של חפצים המאפשר לנצל במלואו את העומס המותר לתרמיל. כתבו שיטה רקורסיבית בוליאנית המקבלת כפרמטרים את העומס המותר של התרמיל - num ומערך שיכיל את משקלות החפצים. השיטה תחזיר ערך true אם ניתן לאסוף חפצים במשקל זהה לעומס המותר לתרמיל ו- false אם לא. כמו כן, השיטה תדפיס גם את משקלות החפצים המקיימים את התנאי (אם יש כאלה). אם יש יותר מצירוף אחד - יודפס אחד מהם. חתימת השיטה - public static boolean isFillBag (int[] arr, int num) אינכם רשאים לשנות את חתימת השיטה, אבל אתם יכולים להיעזר בשיטה נוספת פרטית שעושה overload לשיטה זו. אתם יכולים להניח שהמערך מלא במספרים שלמים חיוביים בלבד. דוגמאות: 1. עבור M = 10 ורשימת החפצים 14 20 3 10 1 יוחזר true והשיטה תדפיס 10 2. עבור M = 20 ורשימת החפצים 9 3 12 7 15 1 4 יוחזר true והשיטה תדפיס (למשל) 12 7 1 3. עבור M = 12 ורשימת החפצים 11 3 5 18 יוחזר false. השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות בכלל!