Cod sursa(job #1443360)

Utilizator cristina_borzaCristina Borza cristina_borza Data 27 mai 2015 19:57:29
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

#define NMAX 1000000000

using namespace std;

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

long long  p;

long long fact(long long x){

    long long put = 5 , sol = 0;
    while(put <= x)
    {
        sol += x / put;
        put *= 5;
    }

    return sol;
}

void caut_bin(long long val){

    long long i , p = 0;
    for(i = 1; i <= NMAX; i<<=1);
    while(i){

        if( i + p <= NMAX && fact(i+p) <= val){

            p += i;
        }

        i /= 2;
    }

    if(fact(p) != val){

        g << -1;
        return ;
    }
    while(fact(p-1) == val && p > 1){

        p--;
    }
    g << p;
}
int main()
{
    f >> p ;
    caut_bin(p);
    return 0;
}