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]之内E数的个数
第一个#include<stdio.h>
int main()
{int a=1,b=1,n,c,i=2;
for(n=3;n<=30000;n++)
{c=(n-1)*b+(n-2)*a;
if(c<=30000)
{i++;
a=b;
b=c;
}
}
printf("%d",i);
return 0;
}
#include<stdio.h>
int main()
{int a=1,b=1,n,c,i=2;
for(n=3;n<=30000;n++)
{c=(n-1)*b+(n-2)*a;
if(c<=30000)
i++;
a=b;
b=c;
}
printf("%d",i);
return 0;
}
为什么第二种是对的,明明都没有区别新手疑惑。