Cod sursa(job #1976616)

Utilizator nicolaefilatNicolae Filat nicolaefilat Data 3 mai 2017 21:24:53
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <math.h>
#define MAX 1e7

using namespace std;

ifstream in("fact.in");
ofstream out("fact.out");

//5 10 15 20
int P;
int all(int k){
    return k/5;
}
int radical(double k){
    double x = floor(log(k) / log(5));
    //cout<<x;


    if( k / pow(5,x) == int(k/pow(5,x))){

        return x;
    }


    return x - int(k/pow(5,x));
}


int F(int j){
    int counter = 0;
    if(P == 0){
        out<<1;
        return 1;
    }
    for(int i = 0 ; i < MAX; i ++){
        int a = all(i);
        if(i % 25 == 0 && i){
            counter += radical(i) - 1;
        }
        if(a + counter == j){
            out<<i;
            return i;
        }

    }
    out<<-1;
    return -1;


}

int main()
{
    in>>P;
    F(P);

}