Cod sursa(job #657820)
Utilizator | Data | 7 ianuarie 2012 14:43:06 | |
---|---|---|---|
Problema | Kperm | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
int main ()
{
long long n,k,rez,p,i,r,l=1;
ifstream f("kperm.in") ;
ofstream g("kperm.out") ;
f>>n>>k ;
r=n%k ;
p=n/k;
rez=1 ;
for(i=1;i<=r;i++)
rez=(rez*i)%666013 ;
for (i=1;i<=p+1;i++)
l=(l*i)%666013 ;
for (i=1;i<=r;i++)
rez=(rez*l)%666013 ;
for (i=1;i<=k-r;i++)
rez=(rez*i)%666013 ;
l=1 ;
for (i=1;i<=p;i++)
l=(l*i)%666013 ;
for (i=1;i<=k-r;i++)
rez=(rez*l)%666013 ;
if (k%2==0)
rez=0 ;
g<<rez<<'\n';
f.close();
g.close();
return 0;
}