SSL2280 極值問題(遞推,斐波那契)
阿新 • • 發佈:2019-02-05
極值問題
Description
已知m、n為整數,且滿足下列兩個條件:
(1)m、n∈1,2,3,……,k
(2)(n^2-mn-m^2)^2=1
對給定的k,求m^2+n^2的最大值
Sample Input
1995
Sample Output
m=987
n=1597
分析:求斐波那契數列中小於k的最大項。
程式碼
var
n,m,x,k:longint;
begin
readln(k);
m:=2;n:=3;x:=5;
if k<3 then
begin
writeln('m=1');
writeln('n=1' );
end
else if k<5 then
begin
writeln('m=2');
writeln('n=3');
end
else begin
while m+n<=k do
begin
m:=n;
n:=x;
x:=m+n;
end;
writeln('m=',m);
writeln('n=',n);
end;
end.