Отримання знань
дистанційна підтримка освіти школярів
Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.
Михальов Володимир (StarRover) 2014-08-21 15:30:49
Задача PAVEMENT. ---------------------- {Pavement} const Nmax=500; type Digit=0..9; Chislo=0..1000; DlChislo=array[1..Nmax] of Digit; var f1,f2,f3,g1,g2,g3: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 Sum3(x1,x2,x3:DlChislo;var z:DlChislo); var i,b:Chislo; begin b:=0; for i:=1 to Nmax do begin z[i]:=(x1[i]+x2[i]+x3[i]+b) mod 10; b:=(x1[i]+x2[i]+x3[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(f1);Nul(f2);Nul(f3);Nul(g1);Nul(g2);Nul(g3); f1[1]:=1;g1[1]:=1; f2[1]:=4;g2[1]:=2; for j:=3 to n do begin Sum(g2,f2,g3); Sum3(g3,g2,f1,f3); Cop(g2,g1); Cop(g3,g2); Cop(f2,f1); Cop(f3,f2); end; if n=1 then GetDlChislo(f1) else if n=2 then GetDlChislo(f2) else GetDlChislo(f3); end. |
В системі:
гості - (1); користувачі -
(0)