Pagini recente » Cod sursa (job #1048119) | Cod sursa (job #2218978) | Cod sursa (job #1725228) | Cod sursa (job #1782560) | Cod sursa (job #2625748)
#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)
{
nr += (fact_n/p);
}
return nr;
}
int cautare_binara(int p)
{
int st,dr,m,sol,x;
st = 1;
dr = 1000000000;
if(p==0)
return 1;
sol = 0;
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 << cautare_binara(p);
return 0;
}