Cod sursa(job #15997)

Utilizator ScrazyRobert Szasz Scrazy Data 11 februarie 2007 22:37:56
Problema Pascal Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.8 kb
type kisebb=longint;
     nagyobb=longint;
Var
  n,k,db:kisebb;
  m:nagyobb;
  be,ki:text;

Function C(n:kisebb;k:kisebb):nagyobb;
Var
  x,y:nagyobb;
  i:kisebb;
Begin
  if (k=0) or (k=n) then C:=1
    else if k=1 then C:=n
      else C:=C(n-1,k-1)+C(n-1,k);
End;
Begin
Assign(be,'chernel.in');
reset(be);
readln(be,n,m);
close(be);
Assign(ki,'chernel.out');
rewrite(ki);
db:=0;

If m=1 then writeln(ki,n+1)
  else if (n<>0) or (n<>1) then
    if n mod 2=0 then begin
      for k:=1 to trunc(n div 2)-1 do
        if C(n,k) mod m=0 then db:=db+1;
      db:=db*2;
      if C(n,trunc(n div 2)) mod m=0 then db:=db+1;
    end
    else begin
      for k:=1 to trunc(n div 2) do
        if Abs(C(n,k)) mod m=0 then db:=db+1;
      db:=db*2;
    end;
writeln(ki,db);
close(ki);
End.