Pagini recente » Cod sursa (job #1786961) | Cod sursa (job #2847041) | Cod sursa (job #2375090) | Cod sursa (job #2127887) | Cod sursa (job #1443360)
#include <fstream>
#define NMAX 1000000000
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p;
long long fact(long long x){
long long put = 5 , sol = 0;
while(put <= x)
{
sol += x / put;
put *= 5;
}
return sol;
}
void caut_bin(long long val){
long long i , p = 0;
for(i = 1; i <= NMAX; i<<=1);
while(i){
if( i + p <= NMAX && fact(i+p) <= val){
p += i;
}
i /= 2;
}
if(fact(p) != val){
g << -1;
return ;
}
while(fact(p-1) == val && p > 1){
p--;
}
g << p;
}
int main()
{
f >> p ;
caut_bin(p);
return 0;
}