Cod sursa(job #571824)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 4 aprilie 2011 19:56:53
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;

#define MAX 4000000005

long long P , st , dr , mid , cpy , sol;

int main()
{
	ifstream f ("fact.in");
	ofstream g ("fact.out");
	
	f >> P;
	
	st = 1;
	dr = MAX;
	
	while (st < dr)
	{
		sol = 0;
		
		mid = (st + dr) / 2;
		
		cpy = mid;
		
		while (cpy != 0)
		{
			cpy /= 5;
			sol += cpy;
		}
		
		
		if (sol < P)
			st = mid + 1;
		
		
		else if (sol > P)
			dr = mid - 1;
		
		else dr = mid;
		
	}
	
	if (P > 10)
		sol++;
	
	
	if (sol == P)
		g << mid;
	
	else g << -1;
		
	return 0;
}