Cod sursa(job #187342)

Utilizator vladianavladiana micu vladiana Data 3 mai 2008 13:48:25
Problema Sandokan Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
# include <stdio.h>

# define FIN "sandokan.in"
# define FOUT "sandokan.out"

long long n,k,rez,aux,m,min,max,i;

long long cmmdc(long long  a,long long b)
{
     if (b==0) return a;
          else return cmmdc(b, a%b);
}

int main()
{
    freopen(FIN,"r",stdin);
    freopen(FOUT,"w",stdout);
    scanf("%lld%lld",&n,&k);
    m=n;
    while (m>=k)
      {
          m-=(k-1);
      }
    m--; n--;
    k=n-m;
    if (k>m)
      {
         max=k;
         min=m;
      }
    else
      {
         max=m;
         min=k;
      }
    rez=1;
    for (i=max+1; i<=n; i++)
      {
         aux=cmmdc(min,i);
         rez=(rez*(i / aux)) % 2000003;
         min=min/aux;
      }
    printf("%lld",rez);
    return 0;
}