Cod sursa(job #522206)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 14 ianuarie 2011 15:45:32
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

FILE *f,*g;

long long p ;
long long nrz( long long m)
{
	long long p5;
	long long s;
	p5 = 5;
	s = 0;
	while ( m / p5 > 0 )
	{
		s += m / p5;
		p5 *= 5;
	}
	return s;
}
long long by( long long st, long long dr)
{
	long long m;
	m = ( dr + st ) / 2;
	long long x = nrz(m);
	if (x == p && nrz(m-1) < p ) return m;
	else if (p > x ) return by(m+1,dr);
	else if (p <= x ) return by(st,m-1);
	return -1;
}

int main()
{
	f = fopen("fact.in", "r");
	g = fopen("fact.out", "w");
	fscanf(f, "%lld", &p);
	fprintf(g, "%lld", by( 1, 400000015));
	return 0;
}