Cod sursa(job #1501911)

Utilizator stelian2000Stelian Chichirim stelian2000 Data 13 octombrie 2015 22:52:17
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>

using namespace std;

int mid;

int get_zero(int x)
{
    int i=5,s=0;
    while(i<=x)
    {
        s+=x/i;
        i*=5;
    }
    return s;
}

int cautare_binare(int p)
{
    int st=1,dr=100000000;
    while(st<=dr)
    {
        mid=(st+dr)/2;
        if(p<=get_zero(mid)) dr=mid-1;
        else st=mid+1;
    }
    return st;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p;
    scanf("%d",&p);
    int n=cautare_binare(p);
    if(get_zero(n)==p) printf("%d",n);
    else printf("-1");
    return 0;
}