Pagini recente » Monitorul de evaluare | Cod sursa (job #1174533) | Cod sursa (job #2595979) | Cod sursa (job #163950) | Cod sursa (job #2024888)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int n, m, v[100], p;
int countzero(int n){
int d=5;
int rez=0;
while(d<=n)
{
rez+=n/d;
d*=5;
}
return rez;
}
int dim(int st, int dr){
int mid = (st+dr)/2, ctz = countzero(mid);
if(st == dr || ctz == p){
while(countzero(mid) >= p) mid--;
mid++;
if(countzero(mid) == p) return mid;
else return -1;
}
else if(ctz > p) return dim(st, mid);
else return dim(mid+1, dr);
}
int main()
{
int i, j;
f >> p;
if(p == 0){
g << 1;
return 0;
}
g << dim(1, 100000);
return 0;
}