Cod sursa(job #1418735)

Utilizator pas.andreiPopovici Andrei-Sorin pas.andrei Data 13 aprilie 2015 21:22:15
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <vector>
#include <fstream>
#include <cstring>
#define MAX 800000000

using namespace std;

int main() {
	unsigned n, p, st, dr, mid, multipli5, m5;

	ifstream fin("fact.in");
	fin >> p;
	fin.close();
	
	ofstream fout("fact.out");

	if (p == 1)
		fout << 1;
	else {
		st = 1;
		dr = p * 5;
		multipli5 = 0;
		while (st <= dr) {
			mid = (st + dr) / 2;

			m5 = 5;
			multipli5 = 0;
			while (m5 <= mid) {
				multipli5 += mid / m5;
				m5 *= 5;
			}

			if (multipli5 >= p)
				dr = mid - 1;
			else
				st = mid + 1;
		}
	}

	fout << st;
	fout.close();

	return 0;
}