Cod sursa(job #1573920)

Utilizator cretu_cipriancretu ciprian cretu_ciprian Data 20 ianuarie 2016 00:15:04
Problema Cifra Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.32 kb
program ucifra;
var f1,f2:text;
  i,j, su, n,t:integer;
  s:string;
  c1,c2:char;
  ucc:array[0..9,0..3] of 0..9;
  uc100:array[0..100] of 0..9 = (0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4,5,9,6,2,7,3,6,2,1,1,2,8,1,7,2,8,5,9,8,8,9,3,0,6,1,7,0,6,5,5,6,2,5,1,6,2,9,3,2,2,3,7,4,0,5,1,4,0,9,9,0,6,9,5,0,6,3,7,6,6,7,1,8,4,9,5,8,4,3,3,4,0,3,9,4,0,7,1,0,0);
{function putere(baza,exp:integer):integer;
var i,p:integer;
  begin   p:=1;
    for i:=1 to exp do
    p:=p*baza;
    putere:=p;

  end;     }

begin    {assign(f1,'cifratemp.txt'); rewrite(f1);write(f1,'(');
  for i:=0 to 9 do
  for j:=1 to 3 do
  ucc[i,j]:=putere(i,j) mod 10;
  for i:=0 to 9 do
  ucc[i,0]:=putere(i,4) mod 10;
  su:=0;
  for i:=1 to 100 do
  begin
   su:=(su+ucc[i mod 10,i mod 4]);  su:=su mod 10;
   uc100[i]:=su;
    write(f1,uc100[i],',');
  end;    write(f1,')');close(f1);halt;   }
  assign(f1,'cifra.in');reset(f1);
  assign(f2,'cifra.out');rewrite(f2);
   readln(f1,t);
   for i:=1 to t do
   begin
    readln(f1,s);
    if length(s)>=2 then begin
    c1:=s[length(s)-1];
    c2:=s[length(s)];
    n:=  (ord(c1)-48)*10+(ord(c2)-48);
     writeln(f2,uc100[n]);
     end
    else
    begin
       c2:=s[length(s)];
       n:=(ord(c2)-48);
       writeln(f2,uc100[n]);
    end;
   end;

  close(f1);close(f2);

end.