Cod sursa(job #309099)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 29 aprilie 2009 17:52:31
Problema Cifra Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 2.29 kb
program p1;   
var f,g:text;   
    a:array[0..100] of integer;   
    i,c,t,x1,x2,x3:integer;
    x:string;   
begin   
     assign(f,'cifra.in');reset(f);   
     assign(g,'cifra.out');rewrite(g);   
     for i:=1 to 100 do   
         begin   
              c:=i mod 10;   
              case c of   
                   0: a[i]:=a[i-1];   
                   1: a[i]:=(a[i-1]+1) mod 10;
                   5: a[i]:=(a[i-1]+5) mod 10;
                   6: a[i]:=(a[i-1]+6) mod 10;
                   4: case i mod 2 of   
                           0: a[i]:=(a[i-1]+6) mod 10;   
                           1: a[i]:=(a[i-1]+4) mod 10;   
                      end;   
                   9: case i mod 2 of   
                           1: a[i]:=(a[i-1]+9) mod 10;
                           0: a[i]:=(a[i-1]+1) mod 10;
                      end;   
                   2: case i mod 4 of   
                           0: a[i]:=(a[i-1]+6) mod 10;   
                           1: a[i]:=(a[i-1]+2) mod 10;
                           2: a[i]:=(a[i-1]+4) mod 10;
                           3: a[i]:=(a[i-1]+8) mod 10;
                      end;
                   3: case i mod 4 of
                           0: a[i]:=(a[i-1]+1) mod 10;
                           1: a[i]:=(a[i-1]+3) mod 10;
                           2: a[i]:=(a[i-1]+9) mod 10;
                           3: a[i]:=(a[i-1]+7) mod 10;
                      end;
                   7: case i mod 4 of
                           0: a[i]:=(a[i-1]+1) mod 10;
                           1: a[i]:=(a[i-1]+7) mod 10;
                           2: a[i]:=(a[i-1]+9) mod 10;
                           3: a[i]:=(a[i-1]+3) mod 10;
                      end;
                   8: case i mod 4 of
                           0: a[i]:=(a[i-1]+6) mod 10;
                           1: a[i]:=(a[i-1]+8) mod 10;
                           2: a[i]:=(a[i-1]+4) mod 10;
                           3: a[i]:=(a[i-1]+2) mod 10;
                      end;
              end;
         end;
readln(f,t);
for i:=1 to t do
         begin
         read(f,x);
         x1:=length(x);
         x2:=(ord(x[x1-2])-ord(0))*10;
         x3:=ord(x[x1-1])-ord(0);
         writeln(g,a[x2+x3]);
         readln(f);
         end;
close(f);
close(g);
end.