בעיה ברקורסיה - JAVA

Marcopolo10

New member
בעיה ברקורסיה - JAVA

הי,
אני לומד קורס בJAVA עד כה למדנו לולאות, מערכים,פונקציות ועכשיו רקורסיה
קיבלתי תרגיל שמבקשים לפתור ברקורסיה
התרגיל הוא כזה
יש שק שיכול לשאת עד משקל ונפח מסויים
אני מקבל פונקציה עם ערך של נפח השק ומשקל השק ו-3 מערכים של הפריטים: משקל נפח וערך. כל איבר במקום ה-i מציין את המשקל/נפח/ערך של הפריט
המשימה היא שלשק יכנסו הפריטים עם הערך הגבוה ביותר כל עוד המשקל והנפח הכולל שלהם לא עולה על הנפח והמשקל שהשק יכול לשאת הפונקציה תחזיר את הערך המקסימאלי
מישהו יכול לעשות לי סדר בבקשה איך האלגוריתם צריך להיראות פחות או יותר
תודה
 

Marcopolo10

New member
האם אני בכיוון?

הצלחתי לכתוב פונקציה רקורסיבית שיכולה למצוא לי את כמות הפרטים בעלי המשקל המקסימלי מבלי לחרוג מהמשקל שהשק יכול לשאת אני יכול לעשות אותו דבר לגבי הנפח
הבעיה שלי היא שצריך שערך הפריטים יהיה גם הגבוה ביותר
האם הפונקציה שכתבתי יכולה לעזור לי בפתרון הבעיה?
 

Grosseto

New member
פתרון אפשרי על קצה המזלג

נניח שאתה מקבל מערך של איברים, אתה יכול לקחת את האיבר עם האינדקס הכי קטן, ולדמיין שאתה יכול לשלוח את שאר האיברים לאורקל שיגיד לך בוודאות מה האיבר עם הערך הכי גדול בשאר המערך , ואז תשווה בניהם. את הטוב ביותר תכניס לשק, אם זה אפשרי, ותוריד אותו מהמערך (נניח על ידי סימון הערך ב מינוס אחד).

התנאי עצירה הוא מערך עם איבר אחד שאז כמובן מוחזר האיבר בלי בדיקות כלשהן
 
למעלה