关于排列的介绍,可以参考小朋友学奥数(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