Найти n-ую цифру последовательности
Добавлено: 14 дек 2009, 21:15
Ряд чисел Фибоначии 1 1 2 3 5 8 13 21 34... Числа Фибоначчи выписываются одно за другим вплотную. Определите, какой будет N-ая цифра в такой последовательности.(N<=2000).
Эта версия работает,покажите как другим способом!!!!
procedure TForm1.FormCreate(Sender: TObject);
var i,j,k,n,m:int64;
begin
l:=TStringlist.Create;
l.Add('1');
l.Add('1');
i:=1;
j:=1;
while l.count<2000 do
begin
k:=i+j;
i:=j;j:=k;
s:=IntToStr(k);
n:=1;
while n<=length(s) do
begin
l.Add(s[n]);
n:=n+1;
end;end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label2.caption:=l[spinedit1.Value-1] ;
end;
Эта версия работает,покажите как другим способом!!!!
procedure TForm1.FormCreate(Sender: TObject);
var i,j,k,n,m:int64;
begin
l:=TStringlist.Create;
l.Add('1');
l.Add('1');
i:=1;
j:=1;
while l.count<2000 do
begin
k:=i+j;
i:=j;j:=k;
s:=IntToStr(k);
n:=1;
while n<=length(s) do
begin
l.Add(s[n]);
n:=n+1;
end;end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label2.caption:=l[spinedit1.Value-1] ;
end;