Cod sursa(job #2044448)

Utilizator gavra_bogdanBogdan Gavra gavra_bogdan Data 21 octombrie 2017 10:06:06
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
int p5(int x)
{
    int exp=0,p=5;
    while(x/p>0)
    {
        exp+=x/p;
        p*=5;
    }
    return exp;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p,sol=-1,st=1,dr=1000000000,mijl;
    cin>>p;
    if(p==0)
    {
        cout<<"1";
        return 0;
    }
    mijl=(dr-st+1)/2;
    while(st<=dr)
    {
        int x=p5(mijl);
        if(x>p)
            dr=mijl-1;
        if(x<p)
            st=mijl+1;
        if(x==p)
            {
                sol=mijl;
                dr=mijl-1;
            }
        mijl=(st+dr)/2;
    }
    cout<<sol;
    return 0;
}