Pagini recente » Cod sursa (job #2382706) | Cod sursa (job #2535428) | Cod sursa (job #1211934) | Cod sursa (job #325601) | Cod sursa (job #480545)
Cod sursa(job #480545)
#include <iostream>
#include <algorithm>
#include <fstream>
#include <string>
using namespace std;
#define FILE_IN "fact.in"
#define FILE_OUT "fact.out"
unsigned int N;
unsigned int zerofact(unsigned int n)
{
unsigned int numzero = 0;
unsigned int fac = 5;
while (fac <= n)
{
numzero += n/fac;
fac *= 5;
}
return numzero;
}
int main()
{
ifstream fisIn(FILE_IN);
ofstream fisOut(FILE_OUT);
fisIn >> N;
unsigned int min = 0;
unsigned int max = 1000000000;
int gasit = -1;
while (min<max)
{
unsigned int piv = (min+max)/2;
unsigned int val = zerofact(piv);
if (val == N) gasit = piv;
if (val < N) min = piv+1; else max = piv;
}
fisOut << gasit;
}