public static int Mul (int a, int b)
public static bool IsAllEven1 (int num)
return num%10%2==0 && IsAllEven1(num/10);
public static bool IsAllEven2 (int num)
return IsAllEven2(num/10);
public static bool IsExistEven (int num)
return num%10%2==0 || IsAllEven1(num/10);
public static int SumR (int num)
return num%10 + SumR(num/10);
public static int CountR (int num)
return 1 + CountR(num/10);
public static void Main (string[] args)
Console.WriteLine(Mul(3,4));
Console.WriteLine(IsAllEven1(458));
Console.WriteLine(IsAllEven2(246));
Console.WriteLine(IsExistEven(458));
Console.WriteLine(IsExistEven(379));
Console.WriteLine(SumR(123));
Console.WriteLine(CountR(120));
ברקורסיה זו לאחר פתרון המקרה הבסיסי יש לחזור עם הערך המחושב ולבצע חישובים קודמים שממתינים לסיומם.
למשל: מכפלה של שני מספרים שלמים
דוגמה נוספת: עצרת של מספר
הערה: ההבדל בין רקורסיית הלוך-חזור לבין רקורסיית קצה הוא
שברקורסיית הלוך-חזור יש לבצע משהו נוסף לאחר הקריאה הרקורסיבית.
למשל: בדוגמה של חישוב עצרת של מספר שלם יש להכפיל את התוצאה בחזור.
לעומת זאת, בהדפסת מספר בסדר הפוך של ספרות אין צורך לבצע משהו נוסף.
רקורסיה אשר בתוך גוף האלגוריתם קיימות מספר קריאות רקורסיביות
כלומר, הרקורסיה מזמנת את ההליך הרקורסיבי פעמיים (בהנחה וקיימות 2 קריאות) בכל שלב
(כל איבר בסדרה הוא סכום של השניים הקודמים לו, למעט שני האיברים הראשונים)
מתבצעת באמצעות שתי פעולות שונות (לפחות) אשר הראשונה קוראת למשל לשנייה,
והתהליך חוזר על עצמו שוב ושוב עד לעצירה.
למשל: חישוב עצרת של מספר באמצעות שתי פעולות
אשר האחת קוראת לאחרת שוב ושוב עד לעצירה.