Pagini recente » Cod sursa (job #1811734) | Cod sursa (job #951813) | Cod sursa (job #35785) | Cod sursa (job #2595611) | Cod sursa (job #399419)
Cod sursa(job #399419)
#include <fstream>
using namespace std;
unsigned nr5(int 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=1<<31,mdl,p;
int res=-1;
fin>>p;
if(p==0){
res=1;
}else{
while(beg<=end){
unsigned mdl=beg+(end-beg)/2;
unsigned n5=nr5(mdl);
if(n5<p){
beg=mdl+1;
}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;
}