C++與演算法

遞迴

  • 遞迴(Recursion),是指在函式中使用函式自身的方法。

  • 遞迴函式必須有終止條件,才能被計算。

圖片來源:Flickr



範例 - 階乘

[code]

#include<iostream>
using namespace std;

int f(int n)
{
    if( n == 0 )
        return 1;
    if( n >= 1 )
        return n*f(n-1);
}

int main()
{
    int n;
    while( cin >> n )
    {
        cout << f(n) << endl;
    }

    return 0;
}

[input]

1
3
5

[output]

1
6
120



範例 - 次方

[code]

#include<iostream>
using namespace std;

int f(int a, int b)
{
    if( b == 0 )
        return 1;
    if( b >= 1 )
        return a * f(a,b-1);
}

int main()
{
    int a, b;
    while( cin >> a >> b )
    {
        cout << f(a,b) << endl;
    }

    return 0;
}

[input]

2 4
3 3
5 2

[output]

16
27
25



題目練習



延伸閱讀