Pagini recente » Cod sursa (job #1897078) | Cod sursa (job #534817) | Cod sursa (job #667129) | Cod sursa (job #2288749) | Cod sursa (job #711366)
Cod sursa(job #711366)
//Include
#include <fstream>
using namespace std;
//Functii
void bs(long long left, long long right);
long long int f(long long int n);
//Variabile
ifstream in("fact.in");
ofstream out("fact.out");
long long int p;
long long int n;
//Main
int main()
{
in >> p;
bs(1, (long long int)1e2);
if(!n)
out << -1;
else
{
long long int ultimaCifra = n % (long long int)10;
n/=(long long int)10;
n*=(long long int)10;
if(ultimaCifra >= (long long int)5)
n+=(long long int)5;
out << n;
}
in.close();
out.close();
return 0;
}
void bs(long long int left, long long right)
{
long long int mijl = (left + right) / 2;
long long int nr0 = f(mijl);
if(nr0 == p)
n = mijl;
else if(left != right)
{
if(nr0 > p)
bs(left, mijl-1);
else
bs(mijl+1, right);
}
}
long long int f(long long int n)
{
long long int x=0,p=5;
while(n/p!=0)
{
x+=n/p;
p*=5;
}
return x;
}