Pagini recente » Cod sursa (job #466180) | Cod sursa (job #398903) | Cod sursa (job #1352075) | Cod sursa (job #490910) | Cod sursa (job #480544)
Cod sursa(job #480544)
#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;
}