Pagini recente » Cod sursa (job #1364257) | Cod sursa (job #532376) | Cod sursa (job #1231597) | Cod sursa (job #1094966) | Cod sursa (job #1888773)
#include <fstream>
unsigned long long int p, n, nup, ndown = 1;
bool fact(unsigned long long int num)
{
n = 0;
while(num != 0)
{num/=5; n += num;}
return (n >= p);
}
void search_min()
{
if(ndown <= nup)
if(!fact(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)
nup = p*5, search_min();
while(fact(ndown-1))
ndown--;
g<<ndown;
return 0;
}