Cod sursa(job #989909)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 26 august 2013 20:41:02
Problema Dirichlet Scor 4
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
using namespace std;
const int mod=9999991;
int n,i,j;
int fact[2000005];

long long pow(long long n, int p) {
     long long rez=1;
     while (p>0) 
      if (p%2==0) { n=(n*n)%mod; p/=2; }
       else { rez=(rez*n)%mod; --p; }
      return(rez%mod);
}

int c(int n, int k) {
    int p1=fact[n],p2=(fact[k]*fact[n-k])%mod;
     return((p1*pow(p2,mod-2))%mod);
}

int main(void) {
    ifstream fin("dirichlet.in");
    ofstream fout("dirichlet.out");
    fin>>n;
     fact[0]=1;
      for (i=1; i<=2*n; ++i) fact[i]=(fact[i-1]*i)%mod;
     int sol=(c(2*n-1,n)-c(2*n-1,n+1)+mod)%mod;
   fout<<sol;
 return(0);
}