Pagini recente » Cod sursa (job #2148877) | Cod sursa (job #142210) | Cod sursa (job #2727113) | Cod sursa (job #413353) | Cod sursa (job #799694)
Cod sursa(job #799694)
#include <stdio.h>
int legendre(int n)
{
int sum=0;
int var=5;
while(var<=n)
{
sum+=n/var;
var=var*5;
}
return sum;
}
int p;
int min;
void cauta(int inf,int sup)
{
if(inf>sup)
{
if(min==5*p+10)
min=-1;
}
else
{
int mij=(sup+inf)/2;
if(legendre(mij)<p)
cauta(mij+1,sup);
else
{
if(legendre(mij)==p)
min=mij;
cauta(inf,mij-1);
}
}
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
min=5*p+10;
if(p==0)
printf("1");
else
{
cauta(1,5*p);
/*if(legendre(min)!=p)
printf("-1");
else*/
printf("%d",min);
}
return 0;
}