c++,完成后追加5

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:23:13
某级数的前两项A1=1,A2=1,以后各项具有关系:An=An-2+2An-1。编写程序,要求依次对于整数M=100,1000和10000求出对应的n的值,使其满足Sn<M且Sn+1>=M,这里Sn=A1+A2+A3+…+An

#include <stdio.h>
void main()
{
int A1 = 1;
int A2 = 1;
int An_1 = A2;
int An_2 = A1;
int An = An_2 + 2*An_1;
int S = An_2+An_1+An;
int M =0 ;
scanf("%d",&M);
int n = 3;
while(S < M)
{
n++;
An_2 = An_1;
An_1 = An;
An=An_2+2*An_1;
S = S+An;
}
printf("\n%d",n-1);
}
当M=100,n=6;
当M=1000,n=9;
当M=10000,n=11。