Cod sursa(job #1452435)

Utilizator theprdvtheprdv theprdv Data 20 iunie 2015 20:38:59
Problema Factorial Scor 95
Compilator c Status done
Runda Arhiva de probleme Marime 0.51 kb
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
#define m (l + ((r - l) / 2))

int N, P;

int zero(int _p){
	long long res = 0, d = 5;
	for (; _p / d; res += _p / d, d *= 5);
	return res;
}

int main(void)
{
	long long l = 0, r = (1 << 31) - 1;
	freopen("fact.in", "r", stdin);
	freopen("fact.out", "w", stdout);

	scanf("%lld", &P);
	while (l != r){
		if (zero(m) >= P) r = m;
		else l = m + 1;
	}
	if (zero(l) == P) printf("%lld\n", l);
	else printf("-1\n");

	return 0;
}