Cod sursa(job #785837)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 9 septembrie 2012 22:14:03
Problema Cifra Scor 100
Compilator fpc Status done
Runda pregatire-monthly8-ziua1 Marime 0.88 kb
program cifra;
var f,g:text;
    a:array[0..9,0..9] of byte;
    t1:array [0..100] of byte;
    t:string[2];
    s:ansistring;
    tot,r,r1,i,nr,e,m:longint;
    bufin,bufout:array [1..65000] of byte;
    n:longint;

begin
 assign (F,'cifra.in'); reset (F);
 assign (g,'cifra.out'); rewrite (G);
 settextbuf (F,bufin); settextbuf (g,bufout);
 readln (f,m);
 for i:=0 to 9 do
 begin
  a[i,0]:=1; a[i,1]:=i;
  while (a[i,a[i,0]]*i) mod  10<>a[i,1] do
  begin
   a[i,a[i,0]+1]:=(a[i,a[i,0]]*i) mod 10;
   inc(a[i,0]);
  end;
 end;
 tot:=0;
 for i:=0 to 100 do
 begin
  r:=i mod 10; r1:=i mod a[r,0];
  if r1=0 then
   r1:=a[r,0];
   tot:=tot+a[r,r1];
   t1[i]:=tot mod 10;
 end;
 for i:=1 to m do
 begin
 readln (f,s);
 n:=length (s);
 if n>1 then
  t:=s[n-1]+s[n]
  else
   t:=s[n];
   val (t,nr,e);
   writeln (g,t1[nr])
 end;
 close (f); close (G);
end.