Cod sursa(job #799027)

Utilizator tibi2012Galatanu Tiberiu tibi2012 Data 17 octombrie 2012 19:12:44
Problema Cifra Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.89 kb
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;
    n:longint;

begin
  assign(f,'cifra.in');
  assign(g,'cifra.out');
  reset(f);
  rewrite(g);
  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.