在两个数的乘法的二进制形式中可以找到多少1位?

时间:2014-11-25 17:24:40

标签: binary numbers bit

我在测试中发现了这个问题并且无法解决它:给定两个任意数字,如何在不计算产品本身的情况下计算其产品的二进制表示中的1位的数量?解决方案的渐近复杂度必须为O(log(A+B)),其中AB是给定因素。

例如,如果AB37,则产品为2121的二进制表示为10101,其中有三个1位,因此答案为3

有人可以建议怎么做吗?

0 个答案:

没有答案