Cod sursa(job #532896)

Utilizator careizoliZoltan Vicsacsan careizoli Data 12 februarie 2011 18:25:40
Problema Cifra Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.23 kb
var f,g:text;
    i,t:longint;
    c1,c2:char;
    a:array[1..100]of byte;
    szj1,szj2,szam:byte;
    kod:integer;

procedure vizsgal(c1,c2:char);
var szj1,szj2,szam:byte;
    kod:integer;
begin
 val(c1,szj1,kod);  val(c2,szj2,kod);
 szam:=szj1*10+szj2;
 writeln(g,a[szam]);
end;

begin
a[1]:=1;
for i:=2 to 100 do begin
szam:=i;
szj1:=szam div 10; szj2:=szam mod 10;
 if (szj2 in [0,1,5,6,9]) or ((szj2 in [3,7])and(szam mod 4=1)) then a[i]:=(a[i-1]+szj2) mod 10
 else if ((szj2 in [2,8])and(szam mod 4=2)) then a[i]:=(a[i-1]+4) mod 10
    else if ((szj2 in [2,8])and(szam mod 4=0))or(szj2=4) then a[i]:=(a[i-1]+6) mod 10
        else if ((szj2=3)and(szam mod 4=3)) then a[i]:=(a[i-1]+7) mod 10
            else if ((szj2=7)and(szam mod 4=3)) then a[i]:=(a[i-1]+3) mod 10
end;
assign(f,'cifra.in');
assign(g,'cifra.out');
reset(f);
rewrite(g);
 readln(f,t);
 for i:=1 to t do begin
   read(f,c2);c1:='0';     {csak az utolso ket szj-re van szukseg}
   while not eoln(f) do begin
     c1:=c2;
     read(f,c2);
   end;
   {vizsgal(c1,c2); }{kiszamolja a megfelelo szamjegyet}
    val(c1,szj1,kod);  val(c2,szj2,kod);
{ szam:=szj1*10+szj2;}
 writeln(g,a[szj1*10+szj2]);
   readln(f);
 end;
close(f);
close(g);
end.