Cod sursa(job #963058)

Utilizator thewildnathNathan Wildenberg thewildnath Data 16 iunie 2013 14:33:34
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<math.h>
int ok(int n)
{
     int s=0,nr=5;
     while(n/nr)
     {
          s=s+n/nr;
          nr=nr*5;
     }
     return s;
}
int cautb(int st,int dr,int p)
{
    int med,aux,last=-1;
    while(st<=dr)
    {
        med=st+(dr-st)/2;
        aux=ok(med);
        if(aux>=p)
        {
            last=med;
            dr=med-1;
        }
        else
        {
            st=med+1;
        }
    }
    return last;
}
int main()
{
     freopen("fact.in","r",stdin);
     freopen("fact.out","w",stdout);
     int p,aux;
     scanf("%d",&p);
     aux=cautb(1,2000000015,p);
     printf("%d\n",aux);
     return 0;
}