Cod sursa(job #474669)

Utilizator olly2204Olly2204 olly2204 Data 4 august 2010 16:40:51
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <iostream>
#include <stdio.h>

using namespace std;

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

int main()
{

	long p, st, dr, mid,y,k;

	int c = 1;

	f >> p;
		
	st = 1;
	dr = 100000000;

	if ( p == 0 ) {
		g << 1;
	}

	else 

	{


	while (st <= dr) {

		mid = (st+dr) / 2; 

		y = 0;

		for (int i = 5 ; i<= mid ; i+=5 ) {

			k = i;

			while (k % 5 == 0 ) {
				y++;
				k = k / 5;
			}

		}

		
		if (y==p) { 

			int e = 1;

			while (e == 1) {
				if ( mid % 5 == 0 ) { 
					g << mid;
					e = 0;
					c = 0;
				}
				else 
				{
					mid--;
				}

			}
			
			if  (e == 0 ) { break; }
		}
		else if (y > p ) {
			dr = mid - 1; }
		else {
			st = mid + 1;
		}

	}

	}

	if ( c == 1 ) {
		g << "-1";
	}

	
		


	return 0;
}