Pagini recente » Cod sursa (job #3296617) | Cod sursa (job #442179) | Cod sursa (job #409965) | Cod sursa (job #1365808) | Cod sursa (job #1651573)
#include <iostream>
#include <fstream>
using namespace std;
long factorial(int n) {
if (n == 0 || n ==1)
return 1;
else return n * factorial(n-1);
}
long smallestNo(int p) {
if (p == 0)
return 1;
long output = 0;
long multipliesFound = 0;
while (multipliesFound < p) {
output++;
if (output%625 == 0) {
multipliesFound += 5;
long temp = output/625;
long multiplies = 0;
while (temp%5 == 0) {
multiplies++;
temp = temp/5;
}
multipliesFound += multiplies;
} else if (output%125==0) multipliesFound += 4;
else if (output%25==0) multipliesFound += 3;
else if (output%5==0) multipliesFound += 2;
else multipliesFound += 1;
}
output *= 5;
if (multipliesFound > p) output = -1;
return output;
}
int main(void) {
ifstream f("fact.in");
ofstream g("fact.out");
long p;
f>>p;
long output = smallestNo(p);
g<<output;
return 0;
}