Pagini recente » Cod sursa (job #2076072) | Cod sursa (job #1762765) | Monitorul de evaluare | Cod sursa (job #2928331) | Cod sursa (job #56689)
Cod sursa(job #56689)
program radu;
var n,t,j,r,x,y,q,sem,i,k,suma,s:longint;
f,g:text;
procedure par(y:longint);
begin
k:=k+40;
case y of
1: k:=k-9+1-6+5-6+3-4;
2: k:=k-9+1-6+5-6+3;
3: k:=k-9+1-6+5-6;
4: k:=k-9+1-6+5;
5: k:=k-9+1-6;
6: k:=k-9+1;
7: begin
q:=2;
for j:=1 to x do
if (j mod 2)=0 then q:=((q+10)-5) mod 10
else q:=((q+10)-1) mod 10;
k:=q;
end;
8: k:=k-9;
9: k:=k;
0: k:=k+3;
end;
k:=k mod 10;
writeln (g,k);
end;
procedure impar(y:longint);
begin
k:=k+40;
case y of
1: k:=k-9-1-6-5-6-3+4;
2: k:=k-9-1-6-5-6-3;
3: k:=k-9-1-6-5-6;
4: k:=k-9-1-6-5;
5: k:=k-9-1-6;
6: k:=k-9-1;
7: begin
q:=2;
for j:=1 to x do
if (j mod 2)=0 then q:=((q+10)-5) mod 10
else q:=((q+10)-1) mod 10;
k:=q;
end;
8: k:=k-9;
0: k:=k+3;
else k:=k;
end;
k:=k mod 10;
writeln (g,k);
end;
begin
assign (f,'cifra.in');
reset (f);
assign (g,'cifra.out');
rewrite (g);
read(f,t);
for r:=1 to t do
begin
read (f,n);
x:=n div 10;
k:=7;
for i:=1 to x do
k:=((k+10)-3) mod 10;
y:=n mod 10;
sem:=x mod 2;
if sem=0 then par(y)
else impar (y);
end;
close (f);
close (g);
end.