Pagini recente » Cod sursa (job #2246464) | Cod sursa (job #2231848) | Cod sursa (job #2234219) | Cod sursa (job #1066905) | Cod sursa (job #1070920)
//
// main.cpp
// factorial
//
// Created by Catalina Brinza on 11/30/13.
// Copyright (c) 2013 Catalina Brinza. All rights reserved.
//
#include <fstream>
#define nru 100000000
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long p;
long long zerouri(long long x)
{long long nr=0,k=5,q=x/5;
while (q>0)
{
nr+=q;
k=k*5;
q=x/k;
}
return nr;
}
long long cautare(long long a,long long b)
{long long m,nr=0;
if (a>b) return -1;
m=a+(b-a)/2;
nr=zerouri(m);
if (nr==p)
{
long long q=zerouri(m-m%5);
if (q==nr) return m-m%5;
else return m-m%5+1;
}
else if (nr>p)
return cautare(a,m-1);
else return cautare(m+1,b);
}
int main()
{
in>>p;
out<<cautare(5,nru);
return 0;
}