Cod sursa(job #1801393)

Utilizator nick12nicolae mihalache nick12 Data 8 noiembrie 2016 22:51:46
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;
long long p,st,dr,mij,ok;
int nrzero(int x)
{
    int i=5,t=0,k=0;
    while (i<=x)
    {
        k = k+x/i;
        i*=5;
    }
    return k;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    cin >> p;
    if (p == 0)
    {
        cout << 1;
        return 0;
    }
    ok = 0;
    st = 1;
    dr = 5*p;
    while(st<=dr)
    {
        mij = st+(dr-st)/2;
        if (nrzero(mij) == p)
        ok=1;

        if (nrzero(mij)>=p)
        dr = mij-1;
        else st = mij+1;
    }
    if (ok)
    cout << st;
    else cout << -1;
  //  cout << coun;
    return 0;
}