Pagini recente » Cod sursa (job #671166) | Cod sursa (job #2786239) | Cod sursa (job #777632) | Cod sursa (job #2430140) | Cod sursa (job #732025)
Cod sursa(job #732025)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned int putere(int n, int p)
{
if (n==0) return 1;
else return putere(n-1,p)*p;
}
unsigned int Zero(int n)
{
return ((putere(n, 5)-1)*n)/(4*putere(n,5));
}
int cautare(int st,int dr,int p)
{
int mij=(st+dr)/2;
if (Zero(mij)==Zero(p)) return mij;
if (dr==st) return st;
if (Zero(mij)>p)
return cautare(st, mij, p);
else return cautare(mij+1, dr, p);
}
int main()
{
int P, m;
do{
f>>P;} while (P<0 && P>putere(8,10));
m=cautare(4*P,5*P,P);
do
{
m=m-1;
}
while (Zero(m)==Zero(P));
g<<m-4;
f.close();
g.close();
}