Cod sursa(job #1147485)

Utilizator andreiagAndrei Galusca andreiag Data 19 martie 2014 21:26:38
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <algorithm>

using namespace std;

int P;

inline int fun(int X)
{
    int ret = 0;
    while (X) { ret += X /5; X /= 5; }
    return ret;
}

int binary(int low, int high, int val)
{
    int mid, tmp;
    while (low < high)
    {
        mid = low + (high - low) / 2;
        tmp = fun(mid);
        if (tmp < val) low = mid+1;
        else high = mid;
    }
    return low;
}

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

//int N;
//f >> N;
//while (N--)
//{
    f >> P;
    if ( P == 0) g << 1 << '\n';
    else {
        int answer = binary(1, 10*P, P);
        g << answer << '\n';
    }
//}
    return 0;
}