小朋友学算法(7):求排列数

关于排列的介绍,可以参考小朋友学奥数(11):排列

程序:

#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

猜你喜欢

转载自blog.csdn.net/haishu_zheng/article/details/80583645