Cod sursa(job #410293)

Utilizator AnteusPatrascoiu Mihai Anteus Data 4 martie 2010 11:28:24
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
FILE *f=fopen ("factorial.in", "r");
FILE *g=fopen ("factorial.out", "w");
long long i,n,ls,ld,mij,k;

int nzero(int n) {
int nr=0;
while (n/=5)
	nr+=n;
return nr;
}
	
int main() {
fscanf (f, "%d", &n);
ls=5; ld=4000000000;
if (!n)
{
	fprintf (g, "1");
	return 0;
}

while (1)
{
	mij=(ld+ls)/2;
	k=nzero(mij);
	if (k==n)
	{
		k=mij-(mij%5);
		break;
	}
	if (k<n)
		ls=mij;
	if (k>n)
		ld=mij;
	if (ld==ls+1)
	{
		k=-1;
		break;
	}
}
fprintf (g, "%d", k);
return 0;
}