Cod sursa(job #537100)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 20 februarie 2011 00:25:25
Problema Cifra Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.28 kb
var     i,t:integer;
        k:byte;
        s:string;
        f,f2:text;
        a:array[0..100] of 0..9;

begin
  assign(f,'cifra.in');
  reset(f);
  readln(f,t);
  assign(f2,'cifra.out');
  rewrite(f2);
  a[1]:=1;
  for i:=2 to 100 do
  if i mod 10=0 then a[i]:=a[i-1] else
  if i mod 10=1 then a[i]:=(a[i-1]+1) mod 10 else
  if i mod 10=5 then a[i]:=(a[i-1]+5) mod 10 else
  if i mod 10=6 then a[i]:=(a[i-1]+6) mod 10 else
  if ((i mod 10=2) and (i mod 4=0)) then a[i]:=(a[i-1]+6) mod 10 else
  if ((i mod 10=2) and (i mod 4=2)) then a[i]:=(a[i-1]+4) mod 10 else
  if ((i mod 10=3) and (i mod 4=1)) then a[i]:=(a[i-1]+3) mod 10 else
  if ((i mod 10=3) and (i mod 4=3)) then a[i]:=(a[i-1]+7) mod 10 else
  if i mod 10=9 then a[i]:=(a[i-1]+9) mod 10 else
  if i mod 10=4 then a[i]:=(a[i-1]+6) mod 10 else
  if ((i mod 10=7) and (i mod 4=1)) then a[i]:=(a[i-1]+7) mod 10 else
  if ((i mod 10=7) and (i mod 4=3)) then a[i]:=(a[i-1]+3) mod 10 else
  if ((i mod 10=8) and (i mod 4=0)) then a[i]:=(a[i-1]+6) mod 10 else
  if ((i mod 10=8) and (i mod 4=2)) then a[i]:=(a[i-1]+4) mod 10;
  for i:=1 to t do
    begin
      readln(f,s);
      if length(s)>1 then val(s[length(s)-1..length(s)],k)
      else val(s,k);
    writeln(f2,a[k]);
    end;
  close(f2);
  close(f);
end.