Cod sursa(job #310090)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 1 mai 2009 19:21:38
Problema Cifra Scor 100
Compilator fpc Status done
Runda for_begginers Marime 2.19 kb
program p1;
var f,g:text;
    a:array[0..100] of integer;
    i,c,t,nn,lg,p,q:integer;
    n:string[101];
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
	readln(f,n);
	p:=0;
	lg:=length(n);
	q:=ord(n[lg])-ord('0');
	if lg>1 then p:=ord(n[lg-1])-ord('0');
	nn:=p*10+q;
	writeln(g,a[nn]);
	end;
     close(g);
end.