Pagini recente » Borderou de evaluare (job #2069148) | Borderou de evaluare (job #185489) | Borderou de evaluare (job #2568622) | Borderou de evaluare (job #876523) | Cod sursa (job #2412209)
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
#define M 500000000
int st=1,dr=M,n=-1;
long long mij;
int fact(long n){
int nr=0;
for(int i=5;n/i>=1;i=i*5)
nr=nr+n/i;
return nr;
}
int main(){
long long p;
fin>>p;
while(st<=dr){
mij=st+(dr-st)/2;
if(fact(mij)==p){
n=mij;
dr=mij-1;}
if(fact(mij)>p)
dr=mij-1;
if(fact(mij)<p)
st=mij+1;
}
fout<<n;
fin.close();
fout.close();
}