Cod sursa(job #502959)

Utilizator mraresMardare Rares mrares Data 20 noiembrie 2010 22:44:55
Problema Factorial Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#define nmax 1000000000

using namespace std;

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

int p; long long answer;

int nr_zero(int x)
{
    int s=0;
    while(x)
    {
        s+=x/5;
        x/=5;
    }
    return s;
}

int caut_binar()
{
    long long left=0, right=nmax, m;
    while(left<right)
    {
        m=(left+right)/2;
        if(nr_zero(m)<p)
            left=m+1;
        else
            right=m;
    }

    if(nr_zero(m)!=p)
        return -1;

    m=(left+right)/2;
    if(nr_zero(m)<p)
        ++m;

    return m;
}

int main()
{
    f>>p;
    answer=caut_binar();
    g<<answer;
    return 0;
}