Cod sursa(job #1563834)

Utilizator hrazvanHarsan Razvan hrazvan Data 6 ianuarie 2016 20:20:57
Problema Dirichlet Scor 92
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#define MOD 9999991

inline int ptr(int a, int b){
  int rez = 1;
  while(b > 0){
    if(b & 1){
      rez = 1LL * rez * a % MOD;
    }
    b /= 2;
    a = 1LL * a * a % MOD;
  }
  return rez;
}

inline int fact(int x){
  int i, rez = 1;
  for(i = 2; i <= x; i++){
    rez = 1LL * rez * i % MOD;
  }
  return rez;
}

int main(){
  FILE *in = fopen("dirichlet.in", "r");
  int n, i;
  fscanf(in, "%d", &n);
  fclose(in);
  FILE *out = fopen("dirichlet.out", "w");
  int x = ptr(fact(n), MOD - 2);
  fprintf(out, "%d", 1LL * fact(2 * n) * x % MOD * x % MOD * ptr(n + 1, MOD - 2) % MOD);
  fclose(out);
  return 0;
}