Cod sursa(job #1205856)

Utilizator tudi98Cozma Tudor tudi98 Data 8 iulie 2014 12:15:42
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;

int pow(int n,int d){
    int p=0;
    while(n%d==0){
        n/=d;
        p++;
    }
    return p;
}

int pow2(int n,int d){
    int p=0;
    long long m=d;
    while(n/m!=0){
        p+=n/m;
        m*=m;
    }
    return p;
}

int main(){

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

    int r,d,app_f[5],div=0,appN=0,x;
    f >> r >> d;
    if(d==6) d=3;
    appN=pow2(r,d);
    app_f[0]=0;
    app_f[3]=appN;
    for(int i=1;i<=r/2;i++){
        app_f[1]=app_f[0]+pow(i,d);
        app_f[2]=app_f[3]-pow(r-i+1,d);
        if(appN>app_f[1]+app_f[2]) div++;
        app_f[0]=app_f[1];
        app_f[3]=app_f[2];
    }
    div<<=1;
    if(!(r&1) && app_f[0]*2<appN) div--;
    g << div <<"\n";
    return 0;
}