Cod sursa(job #198820)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 15 iulie 2008 12:02:26
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>

long long f(long long n)
{
         if (n==0) return 0;
         else return n/5 + f(n/5);
}

long long caut(long x)
{
    long long l,r,mid;
    for (l=0,r=10000000000;l<=r;) 
    {
        mid = (l+r) / 2;
        if (f(mid)<x) l = mid+1;
        else if (f(mid)>x) r = mid-1 ;
        else return mid;
    }
return -1;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int x;
    scanf("%d",&x);
    x = caut(x);
    if (x!=-1) for (;x%5;x--); 
    printf("%d",x);
}