Pagini recente » Cod sursa (job #1662044) | Cod sursa (job #792157) | Cod sursa (job #2045791) | Cod sursa (job #3206031) | Cod sursa (job #711344)
Cod sursa(job #711344)
//Include
#include <fstream>
using namespace std;
//Functii
void bs(int left, int right);
int f(int x);
//Variabile
ifstream in("fact.in");
ofstream out("fact.out");
int p;
int n;
//Main
int main()
{
in >> p;
bs(1, (int)1e7);
if(!n)
out << -1;
else
{
int ultimaCifra = n % 10;
n/=10;
n*=10;
if(ultimaCifra >= 5)
n+=5;
out << n;
}
in.close();
out.close();
return 0;
}
void bs(int left, int right)
{
int mijl = (left + right) / 2;
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);
}
}
int f(int x)
{
int rasp = 0;
for(int i=5 ; i<=x ; i+=5)
{
int nr=i;
while(!(nr%5))
nr/=5, ++rasp;
}
return rasp;
}