Pagini recente » Cod sursa (job #2928614) | Cod sursa (job #1556525) | Cod sursa (job #431070) | Cod sursa (job #1835464) | Cod sursa (job #3162040)
#include <fstream>
using namespace std;
ifstream cin ("fact.in");
ofstream cout ("fact.out");
int nz(int x){
int cnt2=0,cnt5=0;
for(int i=1;i<=x;i++){
int aux=i;
while(aux%2==0)
cnt2++,aux/=2;
while(aux%5==0)
cnt5++,aux/=5;
}
return min(cnt2,cnt5);
}
unsigned long long cautarebinara(int x){
if(x==0)
return 1;
unsigned long long st=0,dr=100000001;
int res=-1;
while(st<=dr){
int mij=(st+dr)/2;
if(nz(mij)==x){
res=mij;
dr=mij-1;
}
else if(nz(mij)>x)
dr=mij-1;
else
st=mij+1;
}
return res;
}
int main()
{
unsigned long long x;
while(cin>>x){
cout<<cautarebinara(x)<<" ";
}
return 0;
}