Pagini recente » Cod sursa (job #640008) | Cod sursa (job #406074) | Cod sursa (job #2630645) | Cod sursa (job #1534799) | Cod sursa (job #1199175)
#include <iostream>
#include <fstream>
using namespace std;
long long v[]={5,25,125,625,3125,15625,78125,390625,1953125,9765625};
ifstream f("fact.in");
ofstream g("fact.out");
long fct(long long x){
long k=0;
for(int i=0;i<10||x<v[i];i++) k+=x/v[i];
return k;
}
int main()
{
long long p,s,d;
long x;
f>>p;
s=0;
d=5000000;
while(s<d){
x=fct((s+d)/2);
if(x>p) d=(s+d)/2-(s+d)/2%5;
else s=(s+d)/2+5-(s+d)/2%5;
}
if(fct(s-5)==p) g<<s-5;
else g<<-1;
return 0;
}