Cod sursa(job #2283049)

Utilizator PinkiePie1189Preoteasa Mircea-Costin PinkiePie1189 Data 14 noiembrie 2018 21:49:59
Problema Pascal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#define MAXN 5000000


FILE *fin, *fout;


int fact[MAXN + 1];


int main() {

    fin = fopen("pascal.in","r");
    fout = fopen("pascal.out", "w");


    int N, D;

    fscanf(fin, "%d %d", &N, &D);
    for(int i = 1; i <= N; i++) {
       fact[i] = fact[i - 1];

       int num = i;

       int nr = 0;

       while(num % D == 0) {
            num /= D;
            nr++;
       }
       fact[i] += nr;
    }

    int ans = 0;
    for(int i = 1; i < N; i++) {
        if(fact[N] - fact[i]  - fact[N - i] >= 0) {
            ans++;
        }
    }

    fprintf(fout, "%d", ans);

    fclose(fin);
    fclose(fout);
    return 0;
}