Pagini recente » Cod sursa (job #1603817) | Cod sursa (job #2972215) | Cod sursa (job #463052) | Cod sursa (job #2842104) | Cod sursa (job #2302647)
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int nr_zero(int n){
long long numara_zerouri=0;
long long numitor=5;
while(n>=5){
numara_zerouri=numara_zerouri+n/numitor;
numitor=numitor*5;
}
return numara_zerouri;
}
int main(){
int P;
long long st=1,dr=int(pow(2,30)),med,sol,lm;
fin>>P;
bool ok=1;
while(st<=dr){
med=(st+dr)/2;
lm=nr_zero(med);
if(lm==P){
sol=med;
dr=med-1;
ok=0;
}
else{
if(lm>P)
dr=med-1;
else st=med+1;
}
}
if(ok==1)
fout<<"-1";
else fout<<sol;
fin.close();
fout.close();
return 0;
}