Pagini recente » Cod sursa (job #2378481) | Cod sursa (job #1579205) | Cod sursa (job #1266104) | Cod sursa (job #2444676) | Cod sursa (job #2550276)
#include <iostream>
#include <fstream>
using namespace std;
#define ULONG 4294967295
int main() {
long long int nrOfZeros;
long long int myNr, contorP = 0, pow = 1;
ifstream myfile;
myfile.open("fact.in");
ofstream outfile ("fact.out");
myfile >> nrOfZeros;
while(myNr < ULONG) {
myNr += (4 * pow);
contorP += (pow - 1);
pow *= 5;
}
pow /= 5;
for (long long int i = pow; i > 0; i /= 5) {
if (contorP == nrOfZeros) {
break;
}
if (contorP - (i - 1) / 4 >= nrOfZeros) {
contorP -= (i - 1) / 4;
myNr -= i;
if (contorP - (i - 1) / 4 >= nrOfZeros) {
contorP -= (i - 1) / 4;
myNr -= i;
if (contorP - (i - 1) / 4 >= nrOfZeros) {
contorP -= (i - 1) / 4;
myNr -= i;
if (contorP - (i - 1) / 4 >= nrOfZeros) {
contorP -= (i - 1) / 4;
myNr -= i;
}
}
}
}
}
if (nrOfZeros != 0) {
myNr -= 4;
outfile << myNr;
} else {
outfile << 1;
}
myfile.close();
outfile.close();
return 0;
}