Cod sursa(job #89913)

Utilizator the1dragonIonita Alexandru the1dragon Data 7 octombrie 2007 20:17:49
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>

int count_zero(int n)
{
	int div=1, count, sol=0,pas=0;
	
	do
	{
		
		div*=5;
		count=n/div;
		++pas;
		sol+=count;
	}
	while (count);
	return sol;
}

int main()
{
	freopen("fact.in", "r", stdin);
	freopen("fact.out", "w", stdout);
	int n, st, dr, mij;
	scanf("%d", &n);
	st=1;
	dr=2000000000;
	mij=(st+dr)/2;
	while (st!=dr)
	{
		if (count_zero(mij)>n)
			dr=(st+dr)/2;
		else
			st=(st+dr)/2+1;
		mij=(st+dr)/2;
	}
	if (count_zero(mij-5)==n)
		printf("%d", mij-5);
	else
		printf("-1");
	return 0;
}