1. 程式人生 > >小朋友學演算法(7):求排列數

小朋友學演算法(7):求排列數

程式:

#include <iostream>
using namespace std;
typedef long long ll;

ll permutation(ll n, ll k)
{
    if(0 == k)
    {
        return 1;
    }

    return permutation(n, k - 1) * (n - k + 1);
}

int main()
{
    cout << permutation(10, 3) << endl;
    return 0;
}

執行結果:

720

分析:
 P(10, 3)
= P(10, 2) * 8
= P(10, 1) * 9 * 8
= P(10, 0) * 10 * 9 * 8
= 1 * 10 * 9 * 8
= 720

更多內容請關注微信公眾號
wechat.jpg