关于#c语言#的问题,请各位专家解答!

img

#include<stdio.h>
int main()
{
    int i = 2, a = 1, b = 1, c;
    c = a + b;
    while (c <= 30000) {
        i++;
        a = b;
        b = c;
        c = (i - 1) * a + (i - 2) * b;
    }
    printf("%d", i - 1);
    return 0;
}

int isEnum(int n)
{
    int En1=2,En2=1;
    int E=0;
    int count=0;
    
    if(n>=1)
        ++count;
    if(n>=2)
        ++count; 
    
    for(int i=3;i<=n;++i)
    {
        E = (i-1)*En1+(i-2)*En2;
        En2 = En1;
        En1 = E;
        
        if(E>n){
            printf("%d",count);
            break;
        }
        ++count;    
    }
    return 0;
}

int main()
{
    isEnum(30000);
}