Đề thi Toán - Tin trong nhà trường Bài 94

doc1 trang | Chia sẻ: huu1989 | Lượt xem: 971 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Đề thi Toán - Tin trong nhà trường Bài 94, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 94/2002 - Biểu diễn tổng các số Fibonaci
(Dành cho học sinh THCS)
Cách giải: Ta sẽ tìm số Fibonacci gần với số N nhất. Đây sẽ chính là số hạng đầu tiên nằm trong dãy kết quả. Sau đó, lấy hiệu của số N và số Fibonacci gần với số N nhất, tiếp tục tìm số Fib gần với hiệu trên và cứ thế cho đến khi hiệu đó là một số Fib. Kết quả các số Fibonacci sẽ được liệt kê theo thứ tự từ lớn đến nhỏ.
Chương trình:
Program BdFib;{Bai 94/2002: Bieu dien tong cac so Fibonacci}
uses crt;
var n:longint;
 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;
procedure xuly;
var i,j:longint;
begin
 for i:=1 to 1000 do f[i]:=-1;
 while n>0 do
 begin
 i:=1;
 while fib(i)<=n do
 inc(i);
 j:=fib(i-1);
 write(j,' + ');
 n:=n-j;
 end;
 gotoxy(wherex-2,wherey);
 writeln(' ');
end;
procedure test;
begin
 clrscr;
 write('Nhap n='); readln(n);
 clrscr;
 write('n=');
 xuly;
end;
BEGIN
 test;
 readln;
END.
(Lời giải của bạn Cao Lê Thăng Long - Lớp 8E Nguyễn Trường Tộ - Hà Nội)

File đính kèm:

  • docDe thi Toan Tin hoc trong nha truong Bai 94.doc