Pagini recente » Cod sursa (job #2953757) | Cod sursa (job #2901816) | Cod sursa (job #2663367) | Cod sursa (job #2836518) | Cod sursa (job #1399542)
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int test(int c)
{
int s = 0;
int x = c;
do{
x = x/5;
s += x;
}while(x != 0);
return s;
}
int binar(int a, int b)
{
if((a+b)/2 == a)
{
if(test(a) != p)
return -1;
}
int middle = (a+b)/2;
int nr_zero = test(middle);
if(nr_zero < p)
{
return binar(middle, b);
}
else if(nr_zero > p)
return binar(a, middle);
else
{
if(middle%5==0)
return middle;
else
return binar(a,middle);
}
}
int main()
{
fin >> p;
int a = 0;
int b = pow(10,p);
fout << binar(a,b);
return 0;
}