Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Diferente pentru problema/taie intre reviziile 5 si 6 | Diferente pentru problema/expresii2 intre reviziile 29 si 30 | Cod sursa (job #1566799)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p,r,a,b,q,n;
int zden(int n)
{
if(n<5)
return 0;
else
return n/5+zden(n/5);
}
int main()
{
f>>p;
a=0;
b=5*p;
r=-1;
while (a<=b && r==-1)
{
n=(a+b)/2;
q=zden(n);
if(q==p)
r=n;
else
if(q<p)
a=n+1;
else
b=n-1;
}
if(r!=-1)r-=r%5;
g<<r;
g.close();
return 0;
}