Pagini recente » Cod sursa (job #1293606) | Cod sursa (job #1822912) | Cod sursa (job #2747123) | Cod sursa (job #2235164) | Cod sursa (job #3180074)
#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)
{
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;
}