Cod sursa(job #75445)

Utilizator mircea_infoSuciu Mircea-Gabriel mircea_info Data 1 august 2007 21:21:21
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
long p,n;
void citire(){
   freopen("fact.in","r",stdin);
   scanf("%ld",&p);
}
int nrzero(long n){
  int k=0;
  for(int i=5;i<=n;i*=5)
    k+=n/i;
  return k;
}
long cautare(long st, long dr){
     int mij=(st+dr)/2;
     if(nrzero(mij)==p){
         while(mij%5!=0)
             mij--;
         return mij;}
     else if(nrzero(mij)>p)
         return cautare(st,mij);
     else
         return cautare(mij,dr);                              
}
void afisare(){
     freopen("fact.out","w",stdout);
     if(p==0)
         printf("1");     
     else
         printf("%ld",cautare(p,1000000));
     fclose(stdout);
}
int main(){
    citire();
    afisare();;
    return 0;
}