Показать сообщение отдельно
  #1  
Старый 08.08.2018, 07:56
likker likker вне форума
Прохожий
 
Регистрация: 08.08.2018
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Числа фибоначчи

Мне нужно вывести 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 циклов.
Как исправить?
Ответить с цитированием