Cod sursa(job #543464)
Utilizator | Mihai-Alexandru Dusmanu dushmi | Data | 28 februarie 2011 08:14:00 |
---|---|---|---|
Problema | Sortari2 | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<cstdio>
int sol,n;
const int MOD=999017;
int calcperm(int n)
{
int rez=1;
for(int i=2;i<=n;i++)
{
rez*=i;
rez%=MOD;
}
return rez;
}
int fib(int n)
{
int x=1,y=1,z;
for(int i=3;i<=n;i++)
{
z=x+y;
x=y;
y=z;
}
return z;
}
int main()
{
freopen("sortari2.in","r",stdin);
freopen("sortari2.out","w",stdout);
scanf("%d",&n);
sol=calcperm(n);
sol-=fib(2*n-1);
if(sol<0)
sol+=MOD;
printf("%d",sol);
return 0;
}