Cod sursa(job #893508)

Utilizator thewildnathNathan Wildenberg thewildnath Data 26 februarie 2013 16:07:37
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 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,1000000001,p);
     aux=aux-aux%5;
     if(aux==0)
          aux++;
     printf("%d\n",aux);
     return 0;
}