פורסם 2007 באוקטובר 1818 שנים נה, זו שאלה קלה מדי. תאתגר אותנו עם שאלות קצת יותר קשות.ועכשיו באמת: אתה רוצה שנפתור לך את שיעורי הבית? תגיד לנו מה ניסית לעשות, וננסה לעזור לך.
פורסם 2007 באוקטובר 1818 שנים אם זה כלכך פשוט אז אפשר תפתרון בבקשה..כנראה לא הבנת אותי נכון.הפורום הזה לא נועד בשביל שנפתור לך את שיעורי הבית, הפורום נועד בשביל נעזור לך לפתור אותם.תגיד שוב מה ניסית לעשות, ונראה איך נוכל לעזור לך. אם בכל זאת אתה לא מצליח, נוכל לתת לך טיפים להפנות אותך לכיוון הנכון (כמו שעשה זה שמעליי).
פורסם 2007 באוקטובר 2018 שנים תנסה קודם לכתוב אלגוריתם רקורסיבי שמחזיר 1 2 3 4 5ואחר כך שמחזיר 5 4 3 2 1ואז 1234554321זה אולי יעזור לך...
פורסם 2007 באוקטובר 2018 שנים תנסה קודם לכתוב אלגוריתם רקורסיבי שמחזיר 1 2 3 4 5ואחר כך שמחזיר 5 4 3 2 1ואז 1234554321זה אולי יעזור לך...אם לא לעזור, למה לבלבל?
פורסם 2007 בנובמבר 1718 שנים אמנם הת'רד הזה קצת ישן, אבל בכל זאת...אני לא בטוח שכולכם ירדתם לעומקה של הבעיה הנתונה, אלא אם כן אני מפספס משהו כאן לגמרי. לא נראה לי שניתן לפתור את הבעיה באופן רקורסיבי ללא פונקצית עזר העוטפת את הפונקציה הרקורסיבית הדרושה, ואסביר גם למה:אם למשל הבעיה הייתה הפוכה, בהינתן 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, שכן טכניקה זו אם אינה מוכרת, אינה פתרון ישיר של הבעיה.בכל אופן, אם מישהו כן מצליח לפתור את הבעיה בפונק' רקורסיבית בודדת, אשמח אם יחלוק את הרעיון.
פורסם 2007 בנובמבר 1818 שנים בדר"כ הכוונה היא ל"פתרון רקורסיבי" ולא לפונקציה רקורסיבית בודדת שקוראת לעצמה.פונקציה רקורסיבית בודדת שלוקחת פרמטר אחד לא יכולה לפתור את הבעיה (אלא אם אתה מרמה ומוסיף משתנה סטטי) כיוון שהיא חייבת שיהיו לה שני פרמטרים - המספר שהיא צריכה להדפיס, והמספר הכי גבוה שבו היא צריכה לעצור את הרקורסיה.
פורסם 2007 בנובמבר 1818 שנים יכול להיות שאכן נצמדתי מידיי לנוסח הבקשה "פונקציה רקורסיבית המקבלת...", ואכן גם "פתרון רקורסיבי" עונה על הדרישה כאן. בכל אופן, קיבלתי את הרושם מתגובותיהם של didi18 ושל Runny שיש להם איזשהו רעיון להפעיל פונקציה רקורסיבית בודדת עם פרמטר 1 (כמו ש-Runny הדגים) כדי לפתור את הבעיה, ועיניין אותי לדעת האם אכן קיים פתרון כזה הנסתר מעיניי. מכל מקום, Boomerang, תודה על ההבהרה
פורסם 2007 בנובמבר 1818 שנים במחשבה שניה, אפשר לעשות פתרון קצת מתחכם, ולהגדיר פונקציה עם פרמטר שהערך הדיפולטי שלו הוא 1 בתור נקודת ההתחלה.אבל אז צריך להתווכח אם זו בעצם פונקציה שלוקחת פרמטר אחד או שניים.(מסוג הדברים שיגרום למורה/מתרגל לפתח אליך שנאה עמוקה)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.