Pagini recente » Cod sursa (job #2066552) | Cod sursa (job #104937) | Cod sursa (job #2279915) | Cod sursa (job #1240937) | Cod sursa (job #988053)
Cod sursa(job #988053)
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
fin >> p;
fin.close();
int pow[14];
pow[0] = 1;
for (int i=1; i<14; i++)
pow[i] = pow[i-1] * 5;
int a,b,n,r,t,i;
a = 1;
b = 2147483647;
while (a != b){
n = (a+b)/2;
r = 0;
i = 1;
do{
t = n/pow[i++];
r = r + t;
} while (t>0);
if (r==p) break;
else if (r>p) b = n;
else a = n+1;
}
fout << (r != p ? -1 : a);
fout.close();
return 0;
}