Pagini recente » Cod sursa (job #535555) | Cod sursa (job #975304) | Cod sursa (job #2375059) | Cod sursa (job #2149722) | Cod sursa (job #399426)
Cod sursa(job #399426)
#include <fstream>
#include <iostream>
using namespace std;
unsigned nr5(unsigned a){
unsigned k=0,p=5;
for(unsigned i=5;i<=a;i*=5){
k+=a/i;
}
return k;
}
int main(){
fstream fin("fact.in",ios::in);
fstream fout("fact.out",ios::out);
unsigned beg=0,end=4000000000,mdl,p;
int res=-1;
fin>>p;
if(p==0){
fout<<1;
}else{
while(beg<=end){
unsigned mdl=beg+(end-beg)/2;
unsigned n5=nr5(mdl);
if(n5<p){
beg=mdl+2;
}else if(n5>p){
end=mdl-1;
}else{
res=mdl;
break;
}
}
if(res!=-1){
fout<<(res/5)*5;
}else{
fout<<-1;
}
}
fin.close();
fout.close();
return 0;
}