Cod sursa(job #27942)

Utilizator pocaituDavid si Goliat pocaitu Data 7 martie 2007 12:30:52
Problema Kperm Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#define konst 666031
int long fact(int long x)
{int long f=1,i;
 for(i=1;i<=x;i++)
   f=(f*i)%konst;
 return f;
 }
int long power(int long baza,int long exp)
{int 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("%ld%ld",&n,&k);
 c=n/k;
 r=n%k;
 if(k%2)
   sol=((fact(r)*fact(c))%konst)*((power(fact(c+1),r)*power(fact(c),c-r))%konst)%konst;
 freopen("kperm.out","w",stdout);
 printf("%lld",sol);
 fclose(stdout);
 return 0;
 }