Pagini recente » Cod sursa (job #3214688) | Cod sursa (job #1842546) | Cod sursa (job #1957267) | Cod sursa (job #1096981) | Cod sursa (job #2410396)
#include <fstream>
using namespace std;
ifstream cin ("fact.in");
ofstream cout ("fact.out");
long long zeros (long long n)
{
long long put = 5;
long long sum = 0;
while (n / put)
sum += n/put, put *=5;
return sum;
}
int main() {
long long p;
cin >> p;
if (p == 0)
{
cout << 1;
return 0;
}
int answer = 0;
/// 000000001 ; 1 << x = 2^x (la puterea, nu xor)
/// 100000000 ; x >> y = x / (2^y) (la puterea, nu xor)
for (int current_bit = 30; current_bit >= 0; -- current_bit)
if (zeros(answer + (1 << current_bit)) <= p)
answer |= (1 << current_bit);
if (zeros(answer) == p)
cout << answer - answer % 5 << '\n';
else cout << -1;
return 0;
}