Cod sursa(job #49847)

Utilizator shaderMarian Neacsu shader Data 6 aprilie 2007 14:58:05
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream.h>
typedef unsigned long int longplus;
longplus x,t,i;

longplus zero(longplus n){
  longplus cinci=5, sum=0;
  while (cinci<=n) {
    sum+=n /cinci;
    if (cinci>0xffffffff/5) break;
    cinci*=5;
  }
  return sum;
}

longplus cauta(longplus p, longplus u){
longplus m;
  if (p>u) return p;
  m=(p+u)/2;
  if (zero(m)>=x) return cauta(p,m-1);
  else return cauta(m+1,u);
}


void main(){
  ifstream f("fact.in");
  f>>x;
  f.close();

  ofstream g("fact.out");
  t=cauta(1,2000000000)-5;
  for (i=t;i<=t+10;i++)
    if (zero(i)==x) break;
  g<<i;
  g.close();
}