2017清華4.29測試數(shù)學(xué)題 x_{n+1}=x_{n}+x_{n+1}, x

%北太天元求解2017清華4.29測試題目
% 已知數(shù)列{x_n}, 其中x_1 =a, x_2 = b, a,b 都是正整數(shù),
% x_{n+1} = x_n + x_{n-1}, 若2008 為數(shù)列中的某一項, 則a+b
% 可能為 ( )
% A 8,?B 9,??C 10,??D 11.
% 我們引入 c= a+b
x = zeros(2,30);
x(:,2) = [0; 1];% x_2=b 通過[c,b]* x(:,2)得到,[c,b]*[0;1] = b
x(:,3) = [1; 0];% x_3=c 通過[c,b]* x(:,3)得到,[c,b]*[1;0] = c
x(:,4) = [1; 1];% x_4=c+b 通過[c,b]*x(:,4)得到,[c,b]*[1;1]=c+b
x(:,5) = [2; 1];% x_5=2c+b 通過[c,b]*x(:,5)得到,[c,b]*[2;1]=2c+b
x(:,6) = [3; 2];% x_6=3c+2b 通過[c,b]*x(:,6)得到,[c,b]*[3;2]=3c+2b
M= [ 1 1 ;
????1 0 ];
%x(:,n+1) = M* x(:,n) ;??
for n= 3:29
???x(:,n+1) = M * x(:,n);?
end
%估計 x_n能夠取得2008的n的一個下界
n_min = min( find ( sum(x) * 11 > 2008) );
%估計 x_n能夠取得2008的n的一個上界
n_max = max( find ( x(1,:)*8 <?2008) );
[c,b] = meshgrid(8:11, 1:10);
%c 可能的取值8,9,10,11,
%b 可能取之 1:10, 因?yàn)?1<= b < c.
for n = n_min:n_max
???z = x(1,n)*c + x(2,n)*b;
???[行號,列號] = find(???z == 2008);
?if?( ~isempty(行號) )
???????fprintf("a+b 可以取值為 %d\n", c(行號,列號));
???????fprintf("b 此時取值為 %d\n", b(行號,列號));
?????????fprintf("這是數(shù)列的第 %d 項\n", n);
?????????fprintf("演草紙上的表達(dá)式 2008 = %d*%d+%d*%d\n\n", ...
?????????????x(1,n), c(行號,列號), x(2,n), b(行號,列號)?);
?end
end???