Cod sursa(job #1309362)

Utilizator florinasAsavei florinas Data 5 ianuarie 2015 18:15:35
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p,st,dr,mid,i,a,x;
int main()
{
    f>>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) g<<st<<"\n"; else g<<"-1\n";
    g.close();
    return 0;
}