Cod sursa(job #358822)

Utilizator IAmASuperCerealVictor Andrei IAmASuperCereal Data 24 octombrie 2009 17:03:26
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
int n=400000016;
int zero(int n)
{
	int nr=0;
	while(n)
	{
		nr+=n/5;
		n/=5;
	}
	return nr;
}
int binary_search(int val)
{
    int i,step;
    for (step=1;step<n;step<<=1);
    for (i=0;step;step>>=1)
        if (i+step<=n&&zero(i+step)<val)
           i+=step;
    return i+1;
}

int main()
{
	int p;
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%d",&p);
	if(zero(binary_search(p))!=p)
		printf("-1");
	else 
		printf("%d",binary_search(p));
	return 0;
}