Cod sursa(job #221448)

Utilizator venom4u31Manea Constantin venom4u31 Data 16 noiembrie 2008 14:56:47
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream.h>
int main ()
{long p,s=0,i,x=0,m;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==0) g<<-1;
else
if(p<=250000)
for (i=0;i<=p*5;i=i+5)
	{m=i;
	while (m%5==0)
		{if(m==0) break;
		m=m/5;
		s=s+1;
		if (m==1) break;
		}
	if (m!=0) x=x+1;
	if (s==p) {g<<x*5; break;}
	else if (s>p) {g<<-1; break;}
	}
else if(p<=500000)
{x=1000010/5;
s=250000;
for (i=1250005;i<=p*5;i=i+5)
	{m=i;
	while (m%5==0)
		{m=m/5;
		s=s+1;
		if (m==1) break;
		}
	if (m!=0) x=x+1;
	if (s==p) {g<<x*5; break;}
	else if (s>p) {g<<-1; break;}
	}
}
else if (p<=750000)
{x=2000005/5;
s=500000;
for (i=2000010;i<=p*5;i=i+5)
	{m=i;
	while (m%5==0)
		{m=m/5;
		s=s+1;
		if (m==1) break;
		}
	if (m!=0) x=x+1;
	if (s==p) {g<<x*5; break;}
	else if (s>p) {g<<-1; break;}
	}
}
else
{x=3000010/5;
s=750000;
for (i=3000015;i<=p*5;i=i+5)
	{m=i;
	while (m%5==0)
		{m=m/5;
		s=s+1;
		if (m==1) break;
		}
	if (m!=0) x=x+1;
	if (s==p) {g<<x*5; break;}
	else if (s>p) {g<<-1; break;}
	}
}

return 0;
}