Cod sursa(job #497259)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 1 noiembrie 2010 22:05:20
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>

int m;
int cinci(long n)
{
	m=0;
	while(n)
	{
		m=m+(n/5);
		n=n/5;
		n-=n%5;
	}
	return m;
}

int main()
{
	
	int p,i,c,st=0,dr=400000015;
	scanf("%d",&p);
	//caut binar rezultatul care sa se potriveasca
	if(p)
	while(st<dr)
	{
		if(cinci((st+dr)/2)==p) st=dr=((st+dr)/2)-((st+dr)/2)%5;
		else if(cinci((st+dr)/2)>p) dr=(st+dr)/2;
		else if(cinci((st+dr)/2)<p) st=(st+dr)/2;
	}
	if(!p) printf("1");
	if(st==dr) printf("%d",dr);else if(st>dr) printf("-1");
	
	return 0;
}