Cod sursa(job #198825)

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

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

int caut(int  x)
{
    long long l,r,mid;
    for (l=0,r=10000000000LL;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);
    long  x;
    scanf("%d",&x);
    x = caut(x);
    if (x!=-1) for (;x%5;x--); 
    printf("%d",x);
}