Cod sursa(job #1663136)

Utilizator EuEricCiordel Rromeo EuEric Data 25 martie 2016 16:07:31
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
using namespace std;
int zero(int n)
{
    int s=0;
    long long numitor=5;
    while(numitor<=n)
    {
        s+=n/numitor;
        numitor*=5;
    }
    return s;
}
int main()
{
    ifstream cin("fact.in");
    ofstream cout("fact.out");
    int n,ans=0;
    cin>>n;
    if(n==0)
    {
        cout<<1;
        return 0;
    }
    int st=1,dr=(1LL<<31)-1;
    while(st<=dr)
    {
        int mij=(st+dr)/2;
        if(zero(mij)<n)
            st=mij+1;
        else
        {
            ans=mij;
            dr=mij-1;
        }

    }
    if(zero(ans)==n)
    cout<<ans;
    else
    cout<<-1;
    return 0;
}