Cod sursa(job #27945)

Utilizator pocaituDavid si Goliat pocaitu Data 7 martie 2007 12:36:09
Problema Kperm Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#define konst 666031
long long fact(long long x)
{long long f=1,i;
 for(i=2;i<=x;i++)
   f=(f*i)%konst;
 return f;
 }
long long power(long long baza,long long exp)
{long long po,i;
 po=1;
 for(i=1;i<=exp;i++)
  po=(po*baza)%konst;
 return po;
 }


int main()
{long long sol=0,n,k,r,c;

freopen("kperm.in","r",stdin);
 scanf("%lld%lld",&n,&k);
 c=n/k;
 r=n%k;
 if(k%2)
   sol=((fact(r)*fact(k-r))%konst)*((power(fact(c+1),r)*power(fact(c),k-r))%konst)%konst;
 freopen("kperm.out","w",stdout);
 printf("%lld",sol);
 fclose(stdout);
 return 0;
 }