1.1.14

上次更新:2019-04-17
发现了题解错误/代码缺陷/排版问题?请点这里:如何:提交反馈

解答

简单使用 log 的定义逼近即可。

代码

static void Main(string[] args)
{
    int N = 9;
    Console.WriteLine($"{ lg(N)}");
}

//利用循环逼近 N,得到 log2(N) 的值
static int lg(int N)
{
    int baseNumber = 2;
    int pow = 1;
    int sum = 2;

    for (pow = 1; sum < N; ++pow)
    {
        sum *= baseNumber;
    }

    return pow - 1;
}
上一题 下一题