1.遞歸問題中如果之直接用公式很容易棧溢出,用數(shù)組保留相應(yīng)的值
2.由遞歸得到的最終結(jié)果很大所以在定義數(shù)據(jù)類型的時候要注意范圍,否則正確的值
1
#include <stdio.h>
2
#include <stdlib.h>
3
int main ()
4

{
5
int i , n;
6
__int64 a[21];
7
8
a[1] = 0; a[2] = 1;
9
10
while ( scanf ("%d", &n) != EOF )
11
{
12
13
for (int i = 3; i <= n; i ++)
14
{
15
a[i] = (i - 1)*(a[i - 1] + a[i - 2]);
16
}
17
18
printf ("%I64d\n", a[n]);
19
}
20
//system ("pause");
21
return 0;
22
}
23
#include <stdio.h>2
#include <stdlib.h>3
int main ()4


{5
int i , n;6
__int64 a[21];7
8
a[1] = 0; a[2] = 1; 9
10
while ( scanf ("%d", &n) != EOF )11

{12
13
for (int i = 3; i <= n; i ++)14

{15
a[i] = (i - 1)*(a[i - 1] + a[i - 2]);16
}17
18
printf ("%I64d\n", a[n]);19
}20
//system ("pause");21
return 0;22
}23



