Cod sursa(job #68075)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 26 iunie 2007 13:40:44
Problema Sarpe Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.88 kb
var i,n,jpr,t,o,aux:longint;
    ch:string[1];
    b,a:array[1..1500] of shortint;
    l:integer;

procedure inmultire;
var ipr:longint;
begin
for ipr:=n downto 1 do
  begin
   inc(o);
   b[o]:=(8*a[ipr]+t) mod 10;
   t:=(8*a[ipr]+t) div 10;
  end;
while t<>0 do
  begin
   inc(o);
   b[o]:=t mod 10;
   t:=t div 10;
  end;
end;

begin
assign(input,'sarpe.in');
assign(output,'sarpe.out');
reset(input);
rewrite(output);
while not eof do
  begin
   while not eoln do
     begin
      read(ch);
      inc(n);
      val(ch,a[n],l);
     end;
  end;
if (a[n]=1) and (n=1) then
  begin
   write(2);
   halt;
  end;
if a[n]=0 then
  begin
   aux:=n;
   while a[aux]=0 do
     dec(aux);
   dec(a[aux]);
   for jpr:=aux+1 to n do
     a[jpr]:=9;
  end
else
  a[n]:=a[n]-1;

inmultire;
for i:=o downto 1 do write(b[i]);
close(input);
close(output);
end.