Cod sursa(job #1008306)

Utilizator bodyionitaIonita Bogdan Constantin bodyionita Data 10 octombrie 2013 20:18:15
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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("factorial.in","r",stdin);
    freopen("factorial.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;
}