闭合表达式,以n表示

时间:2018-12-05 19:48:26

标签: java algorithm math

我一直在尝试根据n导出表达式。我得到的结果中最接近的是log_2(n)(基数2)。谢谢:)

public static int v(int n) {
        int r = 0;
        for(int i=1;i<n;i*=2) {
            r=r+1;  
        }
        return r;
    }

1 个答案:

答案 0 :(得分:0)

这对您足够好了吗

public static int v2(int n) {
    if(n <= 1)
        return 0;
    return (int) (Math.log(n - 1) / Math.log(2)) + 1;
}

换句话说,log_2(n-1)+1代表n > 1,否则0