Pagini recente » Cod sursa (job #3130268) | Cod sursa (job #2585579) | Cod sursa (job #41091) | Cod sursa (job #1659881) | Cod sursa (job #116212)
Cod sursa(job #116212)
#include<fstream>
#include<iostream>
using namespace std;
fstream f,g;
long int nr_zero(int val){
int k=1,t=0,p=0;
while(1){
k=k*5;
if(k>val) break;
else{
p = val / k;
t += p;
}
}
return t;
}
int main(){
f.open("fact.in",ios::in);
g.open("fact.out",ios::out);
unsigned long int i=0;
unsigned long int a;
unsigned long int p,d = 10*100000000, m;
f>>p;
int este = 0;
if(p == 0) { g<<1; return 0; }
while(i<=d && !este){
m = (i+d)/2;
a = nr_zero(m);
if(p == a){
este = 1;
}else{
if(p<a) { d = m-1; }
else { i = m+1; }
}
}
if(a != p) g<<-1;
else g<<5*(m/5);
return 0;
}