Pagini recente » Cod sursa (job #1935164) | Cod sursa (job #1796759) | Cod sursa (job #1483551) | Cod sursa (job #1823039) | Cod sursa (job #1888840)
#include <fstream>
long long int p, n, nup, ndown = -1, help;
bool less_(long long int num)
{
n = 0;
while(num != 0)
num /= 5, n += num;
return (n < p);
}
void search_min()
{
if(ndown < nup)
if(less_(ndown))
{
if((nup + ndown)/2 < nup-1)
ndown = (nup + ndown)/2, search_min();
else
ndown = nup;
}
}
int main()
{
std::ifstream f("fact.in");
std::ofstream g("fact.out");
f>>p;
if(p == 0) ndown = 1;
else if(p >= 0)
ndown = 1, nup = p*5, search_min();
while(!less_(ndown-1))
ndown--;
g<<ndown<<"\n";
return 0;
}
/*
int main()
{
std::ifstream f("fact.in");
std::ofstream g("fact.out");
f>>p;
for(int i = 1; i<=200; i++)
{
p = i;
if(p != 0)
ndown = p, nup = p*5, search_min();
/*while(fact(ndown-1))
ndown--;
g<<ndown<<"\n";
}
return 0;
}
*/