Cod sursa(job #187338)

Utilizator vladianavladiana micu vladiana Data 3 mai 2008 13:36:00
Problema Sandokan Scor 35
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.71 kb
var fi,fo:text;
    m,n,k,rez,max,min,aux,i:int64;

function cmmdc(a,b:int64):int64;
begin
  if b=0 then cmmdc:=a
    else cmmdc:=cmmdc(b,a mod b);
end;

begin
  assign(fi,'sandokan.in'); reset(fi);
  assign(fo,'sandokan.out'); rewrite(fo);
  read(fi,n,k);
  m:=n;
  while m>=k do
    m:=m-k+1;
  dec(m); dec(n);
  k:=n-m;
  if k>m then
    begin
      max:=k;
      min:=m;
    end
  else
    begin
      max:=m;
      min:=k;
    end;
  rez:=1;
  i:=max+1;
  while i<=n do
    begin
      if min>1 then aux:=cmmdc(i,min)
               else aux:=1;
      rez:=(rez*(i div aux)) mod 2000003;
      min:=min div aux;
      inc(i);
    end;
  writeln(fo,rez);
  close(fi);
  close(fo);
end.