Cod sursa(job #1976618)

Utilizator nicolaefilatNicolae Filat nicolaefilat Data 3 mai 2017 21:25:56
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 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));
    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 < 300; 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);

}