Pagini recente » Cod sursa (job #2145355) | Cod sursa (job #2313783) | Cod sursa (job #993672) | Cod sursa (job #604501) | Cod sursa (job #1762710)
#include <fstream>
#include <math.h>
#include <iostream>
using namespace std;
ifstream f1("fact.in");
ofstream f2("fact.out");
long long nr;
long long dr=400000015;
long long st = 1;
long long mij;
long long cifre(long long x){
long long k=0;
for(double i =1;x/((int)pow(5,i))!=0;i+=1){
k=k+(x/((int)pow(5,i)));
}
return k;
}
long long binar(long long x){
mij = dr/st;
int t;
while(dr>=st){
mij = (dr+st)/2;
if(cifre(mij)<x) st=mij+1;
else dr=mij-1;
}
if(cifre(mij)==x)return mij;
else return -1;
}
int main()
{
f1 >> nr;
if(nr==0) f2 << 1;
else f2 <<binar(nr);
return 0;
}