רקורסיה בc#

יטרנר

New member
רקורסיה בc#

שלום, התחלתי ללמוד רקורסיה ולמען האמת זה נושא מעצבן נוראאאאא ניסיתי לבצע פעולת חילוק באמצעות ריקורסיה והפיתרון נכון רק כאשר המחלק זוגי. למה? הפיתרון שלי:
static void Main(string[] args) { Console.WriteLine(Divrec(30, 2)); } static int Divrec(int num, int divider) { int result; if (num < divider) return 1; result=num-Divrec(num-divider,divider); return result; }​
תודה רבהה
 

nadav1974

New member
תנאי העצירה שלך לא לגמרי נכון

נראה לי שכשתתקני אותו זה יסתדר.
 

nadav1974

New member
צודקת, יש עוד בעייה

מה שאת מחשבת זה:
num - (num-divider)/divider​
וזה לא num/divider.
 

nadav1974

New member
יש כאן עוד טעות

רמז:
num/divider = (num - divider + divider) / divider = (num-divider) / divider + 1​
 

nadav1974

New member
מה שאת מחשבת ברקורסיה לא נכון

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

24sharon

New member
היות שגם אני בדיוק בקטע הזה:

אז הנה: http://www.geula.biz/works/sample/csharp/more/recurcive.aspx הפתרון שלי. ועוד דוגמא: http://www.geula.biz/works/sample/csharp/graber/p5q1.aspx ואשמח לקבל עוד מטלה בנושא
 
למעלה