![]() |
|
|
#1
|
|||
|
|||
|
Мне нужно вывести 150 чисел Фибоначчи
Код:
var a,b,c: integer; begin a:=1; b:=1; while a<2000000000 do begin c:=a+b; a:=b; b:=c; memo1.text := memo1.text + Inttostr(b)+#13#10; end; После 46 цикла пошли минусы Если делать так: Код:
// Возвращает Nый элемент ряда фибоначи
function Fib(N : Integer) : Integer;
begin
If N < 3
Then Result := 1
Else Result := Fib(N-1) + Fib(N-2);
end;
.........
begin
for i := 1 to 20 do
label1.Caption := label1.Caption + Inttostr(fib(i))+', ';программа виснет если больше 46 циклов. Как исправить? |