Pagini recente » Cod sursa (job #187758) | Cod sursa (job #380571) | Cod sursa (job #3224722) | Cod sursa (job #212197) | Cod sursa (job #588231)
Cod sursa(job #588231)
#include<cstdio>
#define nmax 400000020
using namespace std;
long P,n,sol;
void citeste();
void rezolva();
void afiseaza(long);
long legendre(long);
void citeste()
{
freopen("fact.in","r",stdin);
scanf("%ld",&P);
fclose(stdin);
}
long legendre(long n)
{
long paux=5,s=0;
while(n/paux)
{
s+=n/paux;
paux*=5;
}
return s;
}
long rezolva(long p, long q)
{
if(p>q) return -1;
long mij=(p+q)/2;
long rez=legendre(mij);
if(rez==P) return mij;
if(rez>P) return rezolva(p,mij-1);
return rezolva(mij+1,q);
}
void afiseaza()
{
freopen("fact.out","w",stdout);
printf("%ld\n",sol);
fclose(stdout);
}
int main()
{
citeste();
sol=rezolva(1,nmax);
if(sol!=-1)
while(sol%5)
sol--;
if(!P) sol=1;
afiseaza();
}