Cod sursa(job #198812)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 15 iulie 2008 11:48:30
Problema Factorial Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>

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

int caut(int x)
{
    int l,r,mid;
    for (l=0,r=100000000;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);
    for (;x%5;x--); 
    printf("%d",x);
}