Pagini recente » Cod sursa (job #2477010) | Cod sursa (job #2186704) | Cod sursa (job #2830141) | Cod sursa (job #853548) | Cod sursa (job #3180080)
#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=100000001;
while (p1-u>1)
{
mij=(p1+u)/2;
if (raspuns(mij)>p) {u=mij;}
else if (raspuns(mij)==p) {u=mij;}
else p1=mij;
}
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;
}