לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי         אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #4  
ישן 29-10-2015, 08:04
צלמית המשתמש של ShoobyD
  ShoobyD מנהל ShoobyD אינו מחובר  
מנהל משבראש, בלשנות, תכנות ויהדות
 
חבר מתאריך: 04.06.06
הודעות: 32,988
שלח הודעה דרך MSN אל ShoobyD Facebook profile LinkedIn profile Follow me...
בתגובה להודעה מספר 1 שנכתבה על ידי osnata שמתחילה ב "בעיה ברקורסיה. דחוף!!"

כדי להדפיס את אפשרויות העלייה, מבחינה רעיונית נסדר אותם באופן הבא:
[דוגמא עבור n=4]
  • 1
    • +1+1+1
    • +1+2
    • +2+1
    • +3
  • 2
    • +1+1
    • +2
  • 3
    • +1
  • 4
ניתן להבחין שבכל פעם שאנו מורידים מהמספר צעד i כלשהו, האפשרויות הנותרות הן הצעדים עבור n-i מדרגות.
לדוגמא ל־1 מחוברים בדיוק האופציות שציינת בעצמך עבור 3.
פה נכנסת הרקורסיה.

אם נשתמש במחרוזת בשביל הצעדים, נוכל להגיע לאלגורית׳ם הבא (בפסאודוקוד):
קוד PHP:
 function stepsn):
    if 
== 0:
        print 
s
    
for i from 1 to n do:
        
stepsn-i'+' 


מכיוון שאתה רוצה גם מגבלה על גודל הצעד, אפשר פשוט להכניס אותה לתנאי העצירה של הלולאה:
קוד PHP:
 function stepsnmax):
    if 
== 0:
        print 
s
    
for i from 1 to minnmax ) do:
        
stepsn-imax'+' 


הערה: לא טרחתי לטפל בסימן הפלוס המוביל, כי זה סתם יסרבל, ובכל אופן הוא מופיע גם אצלך..
אם נממש את הקוד, אז לדוגמא עבור הקריאה steps( 4, 2, '' )‎ תודפסנה האפשרויות:
‎+1+1+1+1
‎+1+1+2
‎+1+2+1
‎+2+1+1
‎+2+2


הערה 2: אפשר גם ליצור פונקציה עוטפת שלא תדרוש את ארגומנט המחרוזת, ושתקרא ל־steps עם מחרוזת ריקה
או לחלופין אפשר להגדיר ל־s ערך ברירת מחדל, כך שיהיה ניתן לקרוא לפונקציה בלעדיו
תלוי בשפה שבה משתמשים.


נערך לאחרונה ע"י ShoobyD בתאריך 29-10-2015 בשעה 08:07.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +3. השעה כעת היא 07:38

הדף נוצר ב 0.14 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2019 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר