Cod sursa(job #1319817)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 17 ianuarie 2015 13:49:19
Problema Pascal Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
#define MAXN 5000000
int f[MAXN+1], k[MAXN+1];
int main(){
    int n, i, d, j, ans;
    FILE *fin, *fout;
    fin=fopen("pascal.in", "r");
    fout=fopen("pascal.out", "w");
    fscanf(fin, "%d%d", &n, &d);
    for(i=d; i<=n; i*=d){
        for(j=i; j<=n; j+=i){
            f[j]++;
        }
    }
    k[0]=0;
    for(i=1; i<=n; i++){
        k[i]=k[i-1]+f[i];
    }
    ans=0;
    for(i=1; i<n; i++){
        ans+=(k[n]-k[i]-k[n-i]>0);
    }
    fprintf(fout, "%d\n", ans);
    fclose(fin);
    fclose(fout);
    return 0;
}