Algorithms 练习1.1.14

xiaoxiao2021-02-28  101

编写一个静态方法lg(),接受一个整形参数N,返回不大于 log2N 的最大整数。不要使用Math函数库。

import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; public class Test { public static void main(String[] args) { StdOut.println("Input your number:"); int n = StdIn.readInt(); StdOut.println("Answer: " + (32 - Integer.numberOfLeadingZeros(n) - 1)); } }

考虑的关键在于在java中整数的储存是二进制的,所以结合 log2 进行考虑。

转载请注明原文地址: https://www.6miu.com/read-46489.html

最新回复(0)