Pagini recente » Cod sursa (job #1013463) | Monitorul de evaluare | Cod sursa (job #2247295) | Diferente pentru home intre reviziile 641 si 902 | Cod sursa (job #139040)
Cod sursa(job #139040)
//#include<iostream>
#include<fstream.h>
// using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long func(unsigned long long c)
{
unsigned long long nrz=0,i=1,aux;
while(aux!=0)
{aux=c;
for(int l=1;l<=i;l++)
aux/=5;
nrz+=aux;i++;}
return nrz;
}
unsigned long long a=0,b=100,p,sol,j,c,k;
int main()
{
f>>p;
f.close();
int flag=1;
do
{
c=(a+b)/2,k=func(c);
if (k==p) {sol=c;flag=0;break;}
if (k>p) b=c-1;
else a=c+1;}
while(a<b);
for(j=a;j<c;j++)
if (func(j)==p) {sol=j;break;}
if (flag) g<<"-1";
else g<<sol;
g.close();
return 0;
}