Cod sursa(job #1288341)

Utilizator dragomirdragomir alex dragomir Data 8 decembrie 2014 19:14:11
Problema Factorial Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
long long p,i,u,m,nr,k,ok;
int main()
{
    freopen("fact.in", "r", stdin);
    freopen("fact.out", "w", stdout);
    scanf("%d", &p);
    i=0;
    u=50000000;
    ok=0;
    while(i<=u)
    {
        m=(i+u)/2;
        nr=0;
        k=5;
        while(k<=m)
        {
            nr+=m/k;
            k*=5;
        }
        if(p<=nr)
            u=m-1;
        else
            i=m+1;
        if(p==nr)
            ok=1;
    }
    if(ok==0)
        printf("-1");
    else
        if(i==0)
            printf("1");
        else
            printf("%ld",i);
    return 0;
}