Cod sursa(job #1051641)

Utilizator victormarinMarin Victor victormarin Data 10 decembrie 2013 12:51:17
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
#define filein "fact.in"
#define fileout "fact.out"
using namespace std;

int zero(int n);
int main()
{
	freopen (filein,"r",stdin);
	freopen (fileout,"w",stdout);
	unsigned int p,st,dr,mij,z;
	scanf("%d",&p);
	st=1;
	dr=1000000000;
	while (st<=dr)
	{
		mij=(st+dr)/2;
		z=zero(mij);
		if (z==p && st==dr) {printf("%d",mij); return 0;}
		if (z==p) dr=mij;
		else
		{
			if (z<p) st=mij+1;
			else dr=mij-1;
		}
	}
	printf("-1");
	return 0;
}

int zero(int n)
{
	int i,s=0;
	for (i=5; i<=n; i=i*5)
		s=s+n/i;
	return s;
}