//注意会爆 int
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const double eps=1e-5;
const double pi=acos(-1.0);
const int mod=1e9+7;
const int INF=0x3f3f3f3f;
const int N=1e3+10;
LL a[25];
void INIT()
{
int i;
a[2]=1;
a[3]=2;
for(i=4;i<=20;i++){
a[i]=(i-1)*(a[i-1]+a[i-2]);
}
}
int main()
{
int n;
INIT();
while(~scanf("%d",&n))
{
cout<<a[n]<<endl;
}
return 0;
}

本文介绍了一个使用C++实现的递归数列计算程序。该程序通过初始化一个数列数组并利用递推公式来计算特定项的值。文章中的代码实现了数列a[i] = (i-1) * (a[i-1] + a[i-2]),其中a[2] = 1, a[3] = 2,并展示了如何通过循环计算直至所需项。
261

被折叠的 条评论
为什么被折叠?



