Cod sursa(job #870985)

Utilizator tgistvanTorok Istvan tgistvan Data 4 februarie 2013 11:26:58
Problema Cifra Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.7 kb
type matrix=array[0..10,0..10]of longint;
     sor =array[0..10]of longint;

var a:matrix;
    b:sor;
    i,j,n,x,o,y:longint;
    f,g:text;

begin
{0-1}
a[0,0]:=0;
a[1,1]:=1;
a[1,0]:=1;
b[0]:=1;
b[1]:=1;

{2}
a[2,1]:=2;
a[2,2]:=4;
a[2,3]:=8;
a[2,0]:=6;
b[2]:=4;
{3}
a[3,1]:=3;
a[3,2]:=9;
a[3,3]:=7;
a[3,0]:=1;
b[3]:=4;
{4}
a[4,1]:=4;
a[4,0]:=6;
b[4]:=2;
{5}
a[5,1]:=5;
a[5,0]:=5;
b[5]:=1;
{6}
a[6,1]:=6;
a[6,0]:=6;
b[6]:=1;
{7}
a[7,1]:=7;
a[7,2]:=9;
a[7,3]:=3;
a[7,0]:=1;
b[7]:=4;

{8}
a[8,1]:=8;
a[8,2]:=4;
a[8,3]:=2;
a[8,0]:=6;
b[8]:=4;
{9}
a[9,1]:=9;
a[9,0]:=1;
b[9]:=2;


{for i:=0 to 9 do begin writeln;
    for j:=0 to b[i] do write(a[i,j],' ');
    end;}



{for i:=2 to 9 do begin

j:=0;
x:=i;
while a[i,1]<>x mod 10 do begin
                        inc(j);
                        a[i,j]:=x mod 10;
                        x:=x*i;
                        end;
b[i]:=j;
end; }



assign(f,'cifra.in');reset(f);
assign(g,'cifra.out');rewrite(g);

readln(f,n);

for j:=1 to n do begin
                 readln(f,x);

                 o:=0;
                 for i:=1 to x do begin
                 y:=i mod 10;
                 if y<>0 then
                 o:=o+(a[y,i mod b[y]]);
                 o:=o mod 10;
                 end;
                 writeln(g,o);
                 end;



                {o:=1;
                 if x>1 then
                 for j:=2 to x do  begin
                 y:=i;
                 m:=y mod 10;
                 y:=y mod b[m];
                 o:=o+a[m,y];
                 end;

                 writeln(g,o mod 10);
                 end;   }



close(f);
close(g);

end.