Отримання знань

дистанційна підтримка освіти школярів


Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.

Михальов Володимир (StarRover) 2014-08-21 15:37:07
{Pavement_b}
const
Nmax=250;
type
Digit=0..9;
Chislo=0..1000;
DlChislo=array[1..Nmax] of Digit;
var
a,b,c:DlChislo;
n,j:chislo;
Procedure Nul(var x:DlChislo);
begin
FillChar(x,SizeOf(x),0);
end;
Procedure Cop(x:DlChislo;var y:DlChislo);
var
i:Chislo;
begin
for i:=1 to Nmax do y[i]:=x[i];
end;
Procedure Sum(x,y:DlChislo;var z:DlChislo);
var
i,b:Chislo;
begin
b:=0;
for i:=1 to Nmax do begin
z[i]:=(x[i]+y[i]+b) mod 10;
b:=(x[i]+y[i]+b) div 10;
end;
end;
procedure GetDlChislo(x:DlChislo);
var
i,f:Chislo;
begin
f:=0;
for i:=Nmax downto 1 do begin
if x[i]<>0 then f:=1;
if f=1 then Write(x[i]);
if (i=1)and(f=0) then Write('0');
end;
WriteLn;
end;
begin
Read(n);
Nul(a);Nul(b);Nul(c);
a[1]:=1;b[1]:=2;
for j:=3 to n do begin
Sum(a,b,c);
Cop(b,a);
Cop(c,b);
end;
if n=1 then GetDlChislo(a)
else if n=2 then GetDlChislo(b)
else GetDlChislo(c);
end.

Повернутися до уроку

Повернутися до перелiку уроків курсу

В системі: гості - (1); користувачі - (0)