Cod sursa(job #1008308)

Utilizator bodyionitaIonita Bogdan Constantin bodyionita Data 10 octombrie 2013 20:18:56
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
using namespace std;
int p,nr,st,dr,mid;
inline int zerouri(int x)
{
    long long pt=5;
    int sum=0;
    while (pt<=x)
    {
        sum+=x/pt;
        pt*=5;
    }
    return sum;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d",&p);
    st=1;dr=5*p;
    while (st<=dr)
    {
        mid=(st+dr)/2;
        nr=zerouri(mid);
        if (nr>=p) dr=mid-1; else st=mid+1;
    }
    if (zerouri(st)==p) printf("%d\n",st); else printf("-1\n");
    return 0;
}