Cod sursa(job #5584)

Utilizator mariuscris90giuroiu marius mariuscris90 Data 13 ianuarie 2007 12:59:06
Problema Cifra Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.28 kb
program cifra;
type vector=array[1..10] of integer;
var s:string;
    v:vector;
    e:integer;
    t,i,sum,m,j:longint;
    f,g:text;
begin
v[1]:=1;v[2]:=5;v[3]:=2;v[4]:=8;v[5]:=3;v[6]:=9;v[7]:=2;v[8]:=8;v[9]:=7;
assign(f,'cifra.in');assign(g,'cifra.out');reset(f);rewrite(g);
readln(f,t);
for i:=1 to t do begin
readln(f,s);
if length(s)=1 then begin val(s,m,e);writeln(g,v[m]);end;
if length(s)<>1 then begin
{if (s[length(s)]='5') and (s[length(s)-1]='0') then writeln(g,'3');
if (s[length(s)]<>'5')and (s[length(s)]<>'0') then
begin val(s[length(s)],m,e);writeln(g,v[m]);end;
if (s[length(s)]='5') and (s[length(s)-1]<>'0') then{ begin
val(s[length(s)-1],m,e);if m=1 then writeln(g,3)
                       else writeln(g,(7*v[m]*+3) mod 10);end;}
                       {writeln(g,'3');}
if s[length(s)]<>'0' then begin val(s[length(s)],m,e);writeln(g,v[m]);end
else {if s[length(s)]='0'then}
for j:=length(s)-1 downto 1 do
{if (s[j]='5') and (s[j-1]='0') then begin writeln(g,'3');j:=0;end;
if (s[j]='5') and (s[j-1]<>'0') then begin
val(s[j-1],m,e);if m=1 then writeln(g,3)
                       else writeln(g,(7*v[m]+3) mod 10);}
if s[j]<>'0' then begin val(s[j],m,e);sum:=(7*v[m]) mod 10;
 writeln(g,sum);j:=1;end;
end;end;
close(F);close(g);end.