#include<bits/stdc++.h>

using namespace std;

struct I{I(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout<<fixed<<setprecision(10);
}}init;

const int M=2*114514;
const double INF=M*100;
typedef vector<double> V;
typedef vector<V> VV;
double diff(double a,double b){
    return abs(a-b)/a;
}
int main(){
    int N;cin>>N;
    V a(N);for(auto &it:a)cin>>it;
    VV dp(N,V(M,INF));
    for(int i=1;i<M;i++)dp[0][i]=diff(a[0],i);
    for(int i=1;i<N;i++){
        for(int j=1;j<M;j++){
            for(int k=j;k<M;k+=j)
                dp[i][k]=min(dp[i][k],max(dp[i-1][j],diff(a[i],k)));
        }
    }
    double res=INF;
    for(auto &it:dp.back())res=min(res,it);
    cout<<res<<endl;
    return 0;
}