Cod sursa(job #732743)

Utilizator acs_davidAcs David acs_david Data 10 aprilie 2012 21:19:39
Problema Pascal Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.24 kb
var r,d,i,h,x,xr,xri,xi:longword;f,g:text;fr,fri,fi:real;
begin
        assign(f,'pascal.in');assign(g,'pascal.out');reset(f);read(f,r,d);close(f);if odd(r) then x:=r div 2 else x:=r div 2-1;
                for i:=1 to x do begin fr:=1;fri:=1;fi:=1;xr:=r;xri:=r-i;xi:=i;
                        while xr<>1 do begin
                                fr:=fr*xr; xr:=xr-1;end;
                        while xri<>1 do begin
                                fri:=fri*xri;xri:=xri-1;end;
                        while xi<>1 do begin
                                fi:=fi*xi;xi:=xi-1;end;
                        if trunc(fr/(fri*fi)) mod d=0 then
                                h:=h+2;end;

                if not odd(r) then begin i:=i+1;fr:=1;fri:=1;fi:=1;xr:=r;xri:=r-i;xi:=i;
                        while xr<>1 do begin
                                fr:=fr*xr; xr:=xr-1;end;
                        while xri<>1 do begin
                                fri:=fri*xri;xri:=xri-1;end;
                        while xi<>1 do begin
                                fi:=fi*xi;xi:=xi-1;end;
                        if trunc(fr/(fri*fi)) mod d=0 then
                                h:=h+1;end;
                rewrite(g);write(g,h);close(g);
end.