数列题e1=e2=1

数列: e(1)=e(2)=1,

e(n)=(n-1)· e(n-1)+(n-2)· e(n-2)

(n> 2)
称为e数列,每一个e (n) (n=1,2,┅)称为e数。 求[1,30000]之内:(1)最大的e数。(2)e数的数目。

你题目的解答代码如下:

#include <stdio.h>

int main()
{
    int i=2,n;
    double a[1001] = {1,1,1};
    do {
        i++;
        a[i] = (i-1)*a[i-1]+(i-2)*a[i-2];
    } while (a[i]<=30000);
    printf("30000内最大的e数 %.0lf, e数的数目%d\n",a[i-1],i-1);
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

找规律,考虑借助递归思想进行求解。

希望对题主有所帮助!