C# 遞迴

遞迴定義

  1. 遞迴(Recursion),是指在函式中使用函式自身的方法。
  2. 遞迴函式必須有終止條件,才能被計算。

實際演練

累加,計算1+2+3…+n的遞迴。

C#程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;

public class Program
{
public static int accumulate(int n){
if(n==1){
return 1;
}else if(n >=2 ){
return n + accumulate(n-1);
}
return 0;
}

public static void Main()
{
Console.WriteLine("1+2+3..+10=" + accumulate(10)); // 1+2+3..+10=55
}
}

結語

觀察前後項,然後對改變的數字去推出一個數學的關係。以目前這題算直覺,但扯到二元樹遍歷時就要燒些惱了。
而這題為什麼最後要寫的return 0; 那是因為C#語法不允許函式沒有回傳值,所以隨意傳個0。

參考資料
https://www.csie.ntu.edu.tw/~b98902112/cpp_and_algo/cpp02/recursion.html