Cod sursa(job #1556959)

Utilizator narcios_neculaNarcis Necula narcios_necula Data 26 decembrie 2015 14:59:18
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <cstdio>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p,ls,ld,mij,kk,k,fct;
int main()
{
    f >> p;
    ls = 1;
    ld = 800000000;
    kk = 0;
    if(p == 0)
        g << 1 << '\n';
    else
    {
        while(ls <= ld && kk == 0)
        {
            k = 0;
            mij = (ls + ld) / 2;
            fct = 5;
            while(fct <= mij)
            {
                k += mij / fct;
                fct *= 5;
            }
            if(k == p)
                kk = mij;
            if(k > p)
                ld = mij - 1;
            else
            if(k < p)
                ls = mij + 1;
        }
        if(kk != 0)
            g << kk - kk % 5 << '\n';
        else
            g << -1 << '\n';
    }
    return 0;
}