Cod sursa(job #805737)

Utilizator valexVochescu Alexandru valex Data 1 noiembrie 2012 01:27:06
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>
using namespace std;

int fact(int x)
{
    int p=5,nr=0;
    while (p<=x)
    {
        nr=nr+x/p;
        p=p*5;
    }
    return nr;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p,f,ls,ld,m;
    scanf("%d",&p);
    while (ls<=ld)
    {
        m=(ls+ld)/2;
        if (m<5) f=0;
        else f=fact(m);
        if (f<p) ls=m;
        else ld=m;
    }
    if (fact(ls)==p) printf("%d",ls);
    else printf("%d",-1);
    return 0;
}