Cod sursa(job #850773)

Utilizator sergiupPopescu Sergiu sergiup Data 8 ianuarie 2013 22:22:17
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>

int n;

int nrz(int k) {
	int rez = 0;
	for (int i = 5 ; i <= k ; i *=5) {
		rez += k / i;
	}
	return rez;
}

int cbin(int l,int h) {
	if (l > h) {
		return -1;
	}
	int mid = (l + h) / 2;
	int x = nrz(mid);
	if (x == n) {
		return mid - mid % 5;
	}
	if (x > n) {
		return cbin(l,mid - 1);
	} else {
		return cbin(mid + 1,h);
	}
}

int main() {
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
		
	scanf("%d",&n);
	if (n == 0) {
		printf("%d",1);
	} else {
		printf("%d",cbin(0,500000000));
	}
	

	
	return 0;
}