Nhập vào một số phân tích thành tổng các số là số fibonanci.
Trả lời
Tổng hợp câu trả lời (1)
NgọcDiep
08:12:10 16-Dec-2021
VD: N = 10 -> 10 = 8 +2
program tfbnc;
var i,j,n:integer;
f:array[1..1000] of longint;
function fib(k:integer):longint;
begin
f[1]:=1;
f[2]:=1;
f[3]:=2;
if f[k]=-1 then f[k]:=fib(k-1)+fib(k-2);
fib:=f[k];
end;
begin
write('nhap n: ');readln(n);
write(n,'=');
for i:=1 to 1000 do f[i]:=-1;
while n>0 do
begin
i:=1;
while fib(i)<=n do i:=i+1;
j:=fib(i-1);
if i<=n then write(j,' + ')
else write (j);
n:=n-j;
end;
readln;
end.
Hãy giúp mọi người biết câu trả lời này thế nào?