Cod sursa(job #820629)

Utilizator BogOuatuOuatu Bogdan-Ioan BogOuatu Data 21 noiembrie 2012 08:31:56
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

int main()
{
    int n,p,k,p5,st,dr,sol;

    ifstream fin("fact.in");
    fin>>p;
    fin.close();

    sol = -1;
    // caut binar pe n
    st = 1;
    dr = 2000000000;
    while(st<=dr)
    {
        n=(st+dr)/2;
        k = 0;
        for (p5 = 5; p5 <= n; p5 *= 5)
            k = k + n / p5;
        if (k == p)
            {
                sol = n;
                dr = n - 1;
            }
        else if (k > p) dr = n - 1;
        else st = n + 1;
    }

    ofstream fout("fact.out");
    fout<<sol<<"\n";
    fout.close();

    return 0;
}