Pagini recente » Cod sursa (job #2985582) | Cod sursa (job #387695) | Cod sursa (job #1794422) | Cod sursa (job #538172) | Cod sursa (job #600466)
Cod sursa(job #600466)
Program Fibonacci;
uses dos;
const limit = 10000;
type vector = array[1..10000] of integer;
var fi , fo : text;
n, m : longint;
i,j,k : longint;
a,b:vector;
ore,minute,secunde,sutimi : word;
s1,s2 : real;
Procedure suma(x,y : vector);
var rest,nr,i1 : longint;
begin
rest:=0;
for i1:=limit downto k do begin
nr:=x[i1]+y[i1]+rest;
rest:=nr div 10;
y[i1]:=nr mod 10;
end;
if rest=0 then k:=i1
else begin
k:=k-1;
y[k]:=rest;
end;
a:=b;
b:=y;
end;
begin gettime(ore,minute,secunde,sutimi);
s1:=3600*ore+60*minute+secunde+0.01*sutimi;
assign(fi,'FIB.in'); reset(fi); read(fi,n,m); close(fi);
assign(fo,'FIB.out'); rewrite(fo);
a[limit]:=1;
b[limit]:=1;
k:=limit;
for i:=3 to n do suma(a,b);
for i:=k to limit do write(fo,b[i]);
writeln(fo);
if k+m-1<=limit then writeln(fo,b[k+m-1]);
gettime(ore,minute,secunde,sutimi);
s2:=3600*ore+60*minute+secunde+0.01*sutimi;
writeln(fo,'Timpul de executie = ',s2-s1 : 5:2);
close(fo);
end.