Cod sursa(job #1274814)

Utilizator icepinPredi Dragos icepin Data 24 noiembrie 2014 13:01:42
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int p,st,dr,mid,i,a,x;
int main()
{
    fin>>p;

    st=1;
    dr=1000000000;
    mid=(st+dr)/2;
    while(st<=dr)
    {

        a=0;
        for(i=5; i<=mid; i*=5)
            a+=mid/i;
        if(a<p)
        {
            st=mid+1;
            mid=(st+dr)/2;
        }

        if(a>=p)
        {
            dr=mid-1;
            mid=(st+dr)/2;
        }
    }
    a=0;
    for(i=5; i<=st; i*=5)
        a+=st/i;
    if(a==p)
        fout<<st<<"\n";
    else
        fout<<"-1\n";
    return 0;
}