Pagini recente » Cod sursa (job #1250550) | Cod sursa (job #673295) | Cod sursa (job #1146999) | Cod sursa (job #3221534) | Cod sursa (job #3180083)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p1,p,u,mij,t;
int raspuns(int x)
{
int rasp=0;
for (int i=5;i<=x;i*=5)
{
rasp+=x/i;
}
return rasp;
}
int main()
{fin>>p;
//5 in n! sa zic trebuie sa dea p
if (p==0) fout<<1;
else{
p1=0;
u=1000000000001;
while (p1<=u)
{
mij=(p1+u)/2;
if (raspuns(mij)>p) {u=mij-1;}
else if (raspuns(mij)==p) {u=mij-1;}
else p1=mij+1;
}
if (raspuns(u)==p&&u%5==0) fout<<u;
else if (raspuns(u+1)==p&&(u+1)%5==0) fout<<u+1;
else if (raspuns(u-1)==p&&(u-1)%5==0) fout<<u-1;
else fout<<-1;
}
return 0;
}