【题目描述】
求多少个个数的排列 ,满足对于任意的。
输入格式
一个整数。
输出格式
一个整数,表示答案。
输入样例
2
输出样例
1
数据范围与提示
对于的数据,。
思路
有种选法,设,则。当时,问题等价于个数时的选法;当时,问题等价于个数时的选法。得出递推关系式:
下面是C++版的代码。
#include <bits/stdc++.h>
using namespace std;
long long ans[21]= {0,0,1},n;
int main()
{
for(int i=3; i<=20; i++)
ans[i]=(i-1)*(ans[i-2]+ans[i-1]);
cin>>n;
cout<<ans[n];
return 0;
}