Pagini recente » Cod sursa (job #2278616) | Cod sursa (job #698028) | Cod sursa (job #2331059) | Cod sursa (job #2220270) | Cod sursa (job #2625667)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int get_nr_zerouri(int fact_n)
{
int nr=0;
for(int p=5;p<=fact_n;p=p*5) // proprietate factori primi
{
nr += fact_n/p;
}
return nr;
}
int caut_binara(int p) // cauta nr cu p zerouri
{
int st,dr,m,sol,x;
st = 1;
dr = 10000000;
if(p==0)
return 1;
sol = -1;
while(st<=dr)
{
m=st+(dr-st)/2;
x = get_nr_zerouri(m);
if(x==p)
{
sol=m;
dr=m-1;
}
else if(x>p)
dr = m-1;
else if (x<p)
st = m+1;
}
return sol;
}
int main()
{
int p;
f>>p;
g << caut_binara(p);
return 0;
}