עבור לתוכן

מישהו יודע מה זה עושה?

Featured Replies

פורסם

נתקלתי בקוד הזה באחד הדפים שלי בבית, מישהו יודע מה הפונקציה מבצעת?

int f(int q, int p)
{
if(q==p)
return p;
else if(q<p)
return f(q,p-1);
else return f(p,q-p);
}

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

פורסם

נתקלתי בקוד הזה באחד הדפים שלי בבית, מישהו יודע מה הפונקציה מבצעת?

int f(int q, int p)
{
if(q==p)
return p;
else if(q<p)
return f(q,p-1);
else return f(p,q-p);
}

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

מוזר. הקטע קוד הזה נראה באמת חשוד :)

פורסם

באמת די מוזר..

אם הבנתי נכון, הקטע קורא לעצמו עד ש p=q ופשוט מחזיר את p..

פורסם
  • מחבר

נתקלתי בקוד הזה באחד הדפים שלי בבית, מישהו יודע מה הפונקציה מבצעת?

int f(int q, int p)
{
if(q==p)
return p;
else if(q<p)
return f(q,p-1);
else return f(p,q-p);
}

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

מוזר. הקטע קוד הזה נראה באמת חשוד :)

LOL, גם לי! הוא מסתבך בתוך עצמו...

פורסם

פשש, רקורסיה..

פורסם
  • מחבר

פשש, רקורסיה..

צודק! :D איך לא חשבתי על זה...!

עכשיו, מעניין מה הפונקציה הרקורסיבית עושה....

פורסם

פשש, רקורסיה..

צודק! :D איך לא חשבתי על זה...!

עכשיו, מעניין מה הפונקציה הרקורסיבית עושה....

מה ? באמת לא שמת לב שזו רקורסיה ? מספיק שאתה רואה שהוא קורא לעצמו - וזו רקורסיה !

פורסם
  • מחבר

פשש, רקורסיה..

צודק! :D איך לא חשבתי על זה...!

עכשיו, מעניין מה הפונקציה הרקורסיבית עושה....

מה ? באמת לא שמת לב שזו רקורסיה ? מספיק שאתה רואה שהוא קורא לעצמו - וזו רקורסיה !

אתה יודע כמה זמן לא נגעתי ב-C?

נהייתי חלוד(למרות שזה דיי דומה בשאר השפות...) ;D

אז מה זה עושה? יש לזה משמעות או שזה סתם קורא לעצמו עד שזה מחזיר את P?

פורסם

ממה שאני מבין התוכנית הזאת פשוט רושמת את סידרת המספרים בין q ל-p.

כאשר לכל רקורסיה חייב להיות תנאי עצירה והוא q=p.

פורסם

ממה שאני מבין התוכנית הזאת פשוט רושמת את סידרת המספרים בין q ל-p.

כאשר לכל רקורסיה חייב להיות תנאי עצירה והוא q=p.

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

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

ארכיון

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

דיונים חדשים