Cod sursa(job #913067)
Utilizator | ene dumitru enedumitru | Data | 13 martie 2013 08:49:19 |
---|---|---|---|
Problema | Kperm | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<fstream>
using namespace std;
ifstream f("kperm.in"); ofstream g("kperm.out");
long long n,k,i,r,nr,fact[5002];
int main()
{ f>>n>>k; fact[0]=1;
for(i=1;i<=n;i++) fact[i]=(fact[i-1]*i)%666013;
r=n%k;
if(k&1)
{ nr=(fact[r]*fact[k-r])%666013;
for(i=1;i<=r;i++) nr=(nr*fact[n/k+1])%666013;
for(i=1;i<=k-r;i++) nr=(nr*fact[(n/k)])%666013;
}
g<<nr; g.close(); return 0;
}