gevAA פורסם 2007 באוקטובר 18 Share פורסם 2007 באוקטובר 18 פונקציה רקורסיבית המקבלת מספר טבעי שלם, למשל 5 ומחזירה123454321 קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2007 באוקטובר 18 Share פורסם 2007 באוקטובר 18 נה, זו שאלה קלה מדי. תאתגר אותנו עם שאלות קצת יותר קשות.ועכשיו באמת: אתה רוצה שנפתור לך את שיעורי הבית? תגיד לנו מה ניסית לעשות, וננסה לעזור לך. קישור לתוכן שתף באתרים אחרים More sharing options...
gevAA פורסם 2007 באוקטובר 18 מחבר Share פורסם 2007 באוקטובר 18 אם זה כלכך פשוט אז אפשר תפתרון בבקשה.. קישור לתוכן שתף באתרים אחרים More sharing options...
Runny פורסם 2007 באוקטובר 18 Share פורסם 2007 באוקטובר 18 אולי זה יעזורf(n-1)+1נסה לשלב את זה עם שני printf קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2007 באוקטובר 18 Share פורסם 2007 באוקטובר 18 אם זה כלכך פשוט אז אפשר תפתרון בבקשה..כנראה לא הבנת אותי נכון.הפורום הזה לא נועד בשביל שנפתור לך את שיעורי הבית, הפורום נועד בשביל נעזור לך לפתור אותם.תגיד שוב מה ניסית לעשות, ונראה איך נוכל לעזור לך. אם בכל זאת אתה לא מצליח, נוכל לתת לך טיפים להפנות אותך לכיוון הנכון (כמו שעשה זה שמעליי). קישור לתוכן שתף באתרים אחרים More sharing options...
didi18 פורסם 2007 באוקטובר 20 Share פורסם 2007 באוקטובר 20 תנסה קודם לכתוב אלגוריתם רקורסיבי שמחזיר 1 2 3 4 5ואחר כך שמחזיר 5 4 3 2 1ואז 1234554321זה אולי יעזור לך... קישור לתוכן שתף באתרים אחרים More sharing options...
Boomerang פורסם 2007 באוקטובר 20 Share פורסם 2007 באוקטובר 20 תנסה קודם לכתוב אלגוריתם רקורסיבי שמחזיר 1 2 3 4 5ואחר כך שמחזיר 5 4 3 2 1ואז 1234554321זה אולי יעזור לך...אם לא לעזור, למה לבלבל? קישור לתוכן שתף באתרים אחרים More sharing options...
didi18 פורסם 2007 באוקטובר 20 Share פורסם 2007 באוקטובר 20 אם לא לעזור, למה לבלבל?למה לבלבל?? זה יותר פשוט קישור לתוכן שתף באתרים אחרים More sharing options...
ofir_yair פורסם 2007 בנובמבר 17 Share פורסם 2007 בנובמבר 17 אמנם הת'רד הזה קצת ישן, אבל בכל זאת...אני לא בטוח שכולכם ירדתם לעומקה של הבעיה הנתונה, אלא אם כן אני מפספס משהו כאן לגמרי. לא נראה לי שניתן לפתור את הבעיה באופן רקורסיבי ללא פונקצית עזר העוטפת את הפונקציה הרקורסיבית הדרושה, ואסביר גם למה:אם למשל הבעיה הייתה הפוכה, בהינתן 5 להדפיס 543212345, אז הפיתרון הרקורסיבי הינו טריביאלי שכן קל לראות שהפעלת הפונקציה על 5 שקולה להדפסת 5, הפעלת הפונקציה על 4 ושוב הדפסת 5, ואכן בבנית הפונקציה הרקורסיבית, היא תמומש בדיוק בסדר הנ"ל.אולם כאן הבעיה היא להדפיס 123454321, לא שאני טוען שזו בעיה מסובכת בהרבה, אלא אינה טריביאלית כמו הקודמת, כי בניגוד לקודמת, הפעלת הפונקציה על 4 אינה מוכלת ישירות בפתרון, לכן הגישה של didi18, לדעתי אינה מתאימה לפתרון הבעיה הנוכחית (אלא דווקא הקודמת).לדעתי (תקנו אותי אם אני טועה) אין מנוס מלבנות פונקצית עזר המקבלת פרמטר נוסף הרץ מ-1 עד הקלט, המקיפה את הפונקציה הרקורסיבית האמיתית באופן הבא:void MirrorPrint(int num){ Aux(1,num);}void Aux(int x, int num){ if (x<num){ printf("%d ", x); Aux(x+1, num); printf("%d ", x); } else{ printf("%d ", x); }}ואם אכן יש הכרח בפונקצית מעטפת, אז אולי החמרתם מעט עם gevAA, שכן טכניקה זו אם אינה מוכרת, אינה פתרון ישיר של הבעיה.בכל אופן, אם מישהו כן מצליח לפתור את הבעיה בפונק' רקורסיבית בודדת, אשמח אם יחלוק את הרעיון. קישור לתוכן שתף באתרים אחרים More sharing options...
Boomerang פורסם 2007 בנובמבר 18 Share פורסם 2007 בנובמבר 18 בדר"כ הכוונה היא ל"פתרון רקורסיבי" ולא לפונקציה רקורסיבית בודדת שקוראת לעצמה.פונקציה רקורסיבית בודדת שלוקחת פרמטר אחד לא יכולה לפתור את הבעיה (אלא אם אתה מרמה ומוסיף משתנה סטטי) כיוון שהיא חייבת שיהיו לה שני פרמטרים - המספר שהיא צריכה להדפיס, והמספר הכי גבוה שבו היא צריכה לעצור את הרקורסיה. קישור לתוכן שתף באתרים אחרים More sharing options...
ofir_yair פורסם 2007 בנובמבר 18 Share פורסם 2007 בנובמבר 18 יכול להיות שאכן נצמדתי מידיי לנוסח הבקשה "פונקציה רקורסיבית המקבלת...", ואכן גם "פתרון רקורסיבי" עונה על הדרישה כאן. בכל אופן, קיבלתי את הרושם מתגובותיהם של didi18 ושל Runny שיש להם איזשהו רעיון להפעיל פונקציה רקורסיבית בודדת עם פרמטר 1 (כמו ש-Runny הדגים) כדי לפתור את הבעיה, ועיניין אותי לדעת האם אכן קיים פתרון כזה הנסתר מעיניי. מכל מקום, Boomerang, תודה על ההבהרה קישור לתוכן שתף באתרים אחרים More sharing options...
Boomerang פורסם 2007 בנובמבר 18 Share פורסם 2007 בנובמבר 18 במחשבה שניה, אפשר לעשות פתרון קצת מתחכם, ולהגדיר פונקציה עם פרמטר שהערך הדיפולטי שלו הוא 1 בתור נקודת ההתחלה.אבל אז צריך להתווכח אם זו בעצם פונקציה שלוקחת פרמטר אחד או שניים.(מסוג הדברים שיגרום למורה/מתרגל לפתח אליך שנאה עמוקה) קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2007 בנובמבר 18 Share פורסם 2007 בנובמבר 18 וזה תלוי כבר בשפה. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.