Cod sursa(job #1981938)

Utilizator flaviu_2001Craciun Ioan-Flaviu flaviu_2001 Data 17 mai 2017 11:03:32
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

int zerouri(int x)
{
    int k = 0;
    while(x){
        k += x/5;
        x /= 5;
    }
    return k;
}

int functia_cu_p(int x)
{
    if(x == 0)
        return 1;
    int hi = x * 5, lo = x*4, m;
    for (m = (lo+hi)/2; lo <= hi; m = (lo+hi)/2){
        int y = zerouri(m);
        if(y == x)
            return m-m%5;
        else if (y > x)
            hi = m-1;
        else lo = m+1;
    }
    return -1;
}

int main()
{
    ifstream fin ("fact.in");
    ofstream fout ("fact.out");
    int p;
    fin >> p;
    fout << functia_cu_p(p);
    fin.close();
    fout.close();
    return 0;
}