Cod sursa(job #284838)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 21 martie 2009 23:31:50
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#include<values.h>

long p;

long put(long x)
{
 long k=0;
 while(x%5==0) { k++; x/=5; }
 return k;
}

long f(long n)
{
 long i,k=0;
 for(i=5; k<p,i<=n; i+=5) k+=put(i);
 return k;
}

long binars(long a, long b)
{
 long c=(a+b)/2;
 if(f(c)==p) return c;
    else if(f(c)<p) return binars(c+1,b);
	   else return binars(a,c-1);
}

int main()
{
 long t;
 freopen("fact.in","r",stdin);
 freopen("fact.out","w",stdout);
 scanf("%ld",&p);
 if(p==0) printf("1");
 else{
 t=binars(1,MAXLONG);
 while(t%5) t--;
 printf("%ld",t);}
 return 0;
}