עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

פורסם

שלום

לפני שבועיים התחלתי ללמוד ריקורסיה ואני מתקשה בזה כמו דג שמנסה לשחק כדורגל...

עכשיו, אני צריך לבנות מתודה רקורסיבית שתקבל מספר n ותכתוב את n המספרים הראשונים בסדרה שבה כל מספר שווה לערך המספר הקודם ועוד המיקום שלו.

יעני:

 1,2,4,7,11...n

או נוסחה בצורה של מערך:

arr[i]=arr[i-1]+(i-1)

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

תודה לכל העוזרים :xyxthumbs:

פורסם

אני אכתוב בפסואודו-קוד כי אני לא רוצה להכנס לשגיאות סינטקס בגאווה (סיימתי עכשיו פרוייקט בפרולוג ככה שאני בטח יתבלבל עם הסינטקס):

פונקציה המקבלת את הערך N

{ אם N שונה מ-0 אז

{ קרא לפונקציה עם הערך N-1

הדפס

arr[i]=arr[i-1]+(i-1)

}

}

פורסם
  • מחבר

מה שעשיתי עם מערך היה רק דוגמה, זה לא באמת מה שצריך לכתוב :silly:

חשבתי על להשתמש במה שאמרת, הבעיה היא רק שאז זה מדפיס בסדר הפוך

פורסם

אז פשוט תהפוך את הסדר בין ה-"הדפס" ל- "קרא לפונקציה".

ז"א קודם הדפס אח"כ קרא לפונקציה עם N-1.

פורסם
  • מחבר

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

פורסם

נו אז בעזרת N תוציא את הערך מהמערך.

אם המערך לא נשלח לפונקציה אז או שתשלח אותו

או שתעשה אותו גלובלי.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.