Pagini recente » Cod sursa (job #1378308) | Cod sursa (job #2693736) | Cod sursa (job #94037) | Cod sursa (job #2388228) | Cod sursa (job #475652)
Cod sursa(job #475652)
#include <fstream>
#include <iostream>
#include <stdio.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int main()
{
unsigned long p, st, dr, mid,y,k;
int c = 1;
f >> p;
st = 1;
dr = 1;
for (int j = 1 ; j <= p ; j++)
{
dr *= 5 ;
}
if ( p == 0 ) {
g << 1;
}
else
{
while (st <= dr) {
mid = (st+dr) / 2;
y = 0;
for (int i = 5 ; ( (i<= mid) && ( y <= p ) ) ; i+=5 ) {
k = i;
while (k % 5 == 0 ) {
y++;
k = k / 5;
}
}
if (y==p) {
int e = 1;
while (e == 1) {
if ( mid % 5 == 0 ) {
g << mid;
e = 0;
c = 0;
}
else
{
mid--;
}
}
if (e == 0 ) { break; }
}
else if (y > p ) {
dr = mid - 1; }
else {
st = mid + 1;
}
}
}
if ( c == 1 ) {
g << "-1";
}
f.close();
g.close();
return 0;
}