Cod sursa(job #2910584)

Utilizator MrPuzzleDespa Fabian Stefan MrPuzzle Data 22 iunie 2022 15:07:22
Problema Pascal Scor 30
Compilator cpp-64 Status done
Runda 3_iulie Marime 0.83 kb
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <climits>

#include <ctype.h>

#define MAX 20000000


using namespace std;


//ifstream f("in.in");
//ofstream g("out.out");

ifstream f("pascal.in");
ofstream g("pascal.out");

long long r,d,sol;

long long fact_n_div_d(int n){

    long long div=d;
    long long cnt=0;

    while(div<=n){
        cnt+=n/div;
        div*=d;
    }
    return cnt;
}

bool elem_n_div_d(long long n){
    long long a = fact_n_div_d(r);
    long long b = fact_n_div_d(r-n);
    long long c = fact_n_div_d(n);

    if(a>(b+c)){
        return 1;
    }
    return 0;
}

int main(){

    f>>r>>d;

    for(int i=0;i<=r;i++){
        sol+= elem_n_div_d(i);
    }

    g<<sol;

    f.close();
    g.close();
    return 0;
}