Cod sursa(job #1097653)

Utilizator tudi98Cozma Tudor tudi98 Data 3 februarie 2014 19:14:45
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define MAX 500000000
using namespace std;
long p;

int fz(int k){
    long m=5,z=0;
    while(k/m!=0){
    z+=k/m;
    m*=5;
    }
   return z;
}

int bin_search(long l,long r){
    if(l>r) return -1;
    else{
          long c=(l+r)/2;
          if(fz(c)<p) bin_search(c+1,r);
          else
               if(fz(c)>p) bin_search(l,c-1);
               else
                    return c;
    }
}


int main(){
ifstream f("fact.in");
ofstream g("fact.out");

f>>p;
if(p==0) g<<1;
else{
      long n=bin_search(0,MAX);

      while(fz(n-1)==p){
      n=n-1;
      }

      g<<n;
    }
    return 0;
}