הצילו...

Top Gun

New member
הצילו...

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

W12X

New member
כאן יש פתרון די דומה

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

1ca1

New member
זה פשוט

מהם כל הסכומים שאפשר להרכיב מהמערך x1,...,xn? בדיוק הסכומים שאפשר לקבל מהמערך x1,...,xn-1 + הסכומים האלה בתוספת xn + xn בעצמו (אם תגדירי שאפשר לקבל 0, כסכום ריק, אז זה נובע כבר מהפלוס השני))
 

Top Gun

New member
זה בכלל לא פשוט

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

1ca1

New member
זה קל

מאחר שהפורום הוא לא פורום שפות תיכנות, לא נכתב לך כאן קוד מלא, אלא אמרתי את האלגוריתם, מימוש בסיסי שלו הוא משוה בסגנון comp(x,n), כאשר x הוא וקטור, וn הוא המקום הרלוונטי בוקטור if (n=1) then return x[1]; else return x[n],x[n]+comp(x,n-1) בשביל ממש לקבל את הסכומים, עדיף לך לעשות מבנה נתונים שתומך בחיבור/איחוד, משהו כמו וקטור וזה ברמה של תיכון...
 
למעלה