Pagini recente » Cod sursa (job #1601821) | Profil eduard50 | Istoria paginii runda/forta | Istoria paginii utilizator/anaana123456789 | Cod sursa (job #1399514)
#include <fstream>
#include <iostream>
#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)
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 fact(int x)
{
int s = 1;
for(int i = 1; i <= x; i++)
{
s *= i;
}
return s;
}
int main()
{
cin >> p;
int a = 0;
int b = pow(10,p);
cout << binar(a,b);
return 0;
}