Cod sursa(job #46253)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 2 aprilie 2007 14:04:00
Problema Pascal Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.78 kb
program pascal;

type sir=array[1..5000000]of int64;

var f:sir;
    r,d:integer;
    w:integer;

procedure citire;
begin
assign(input,'pascal.in');
reset(input);
read(r,d);
close(input);
end;

procedure factorial;
var pr:int64;
    i:integer;
begin
pr:=1;
for i:=1 to r do
    begin
    pr:=pr*i;
    f[i]:=pr;
    end;
end;

procedure calcul;
var i:integer;
begin
for i:=1 to ((r+1) div 2)-1 do
    begin
    if (f[r]/(f[r-i]*f[i]))/d=trunc((f[r]/(f[r-i]*f[i]))/d) then
       w:=w+2;
    end;
if r mod 2=0 then
   if (f[r]/(f[r-(r div 2)+1]*f[(r div 2)+1]))/d=trunc(f[r]/(f[r-(r div 2)+1]*f[(r div 2)+1])/d) then
      w:=w+1;

end;

begin
citire;
factorial;
w:=0;
calcul;
assign(output,'pascal.out');
rewrite(output);
write(w);
close(output);
end.