#include <bits/stdc++.h>
#define N 30
#define M 200000
using namespace std;
int n,A[N];
double calc(double a,double b){return abs(a-b)/a;}


double dp[2][M];
double DP(){
  bool f=0;  
  for(int i=0;i<M;i++) dp[0][i] = 1LL<<50;
  dp[0][1] = 0;

  for(int i=0;i<n;i++,f=!f){
    for(int j=0;j<M;j++) dp[!f][j] = 1LL<<50;

    for(int num=1;num<M;num++)
      for(int j=num;j<M;j+=num)
	dp[!f][j] = min(dp[!f][j],max(calc(A[i],j),dp[f][num]));
  }

  double res=1LL<<55;
  for(int i=0;i<M;i++) res=min(res,dp[f][i]);
  return res;
}

int main(){
  cin>>n;
  for(int i=0;i<n;i++)cin>>A[i];
  printf("%.10f\n",DP());
  return 0;
}