Pagini recente » Cod sursa (job #2045730) | Cod sursa (job #2862506) | Cod sursa (job #1049744) | 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;
}