1
计算机科学的基础知识之一就是知道数字是如何用2的补码表示的。想象一下,用32位补码表示法写下A和B之间的所有数字。你会写多少个1?面试问题
输入: 第一行包含测试用例数T(< = 1000)。每个接下来的T行包含两个整数A和B.
输出: 输出T行,一个对应于每个测试用例。
限制条件: -2^31 < = A < = B < = 2^31 - 1
样品输入:
-2 0
-3 4
-1 4
样本输出:
63
99
37
说明: 对于第一种情况,-2包含31 1,后跟0,-1包含32 1,0包含0 1。因此,总是63 对于第二种情况,答案是31 + 31 + 32 + 0 + 1 + 1 + 2 + 1 = 99
快速...任何人回答与逻辑这个问题? – user3164808
只是尽你所能地回答;面试通常与你的想法一样多 - 如果我在互联网上发现面试者问我面试问题......坏事。最糟糕的情况下,你需要2件事情;一个for循环和一个“计数位”的方法...如果有更好的情况:很好 –
如果这些是面试问题,那么我可能会失败。多年来我已经失去了点点滴滴,真的很尴尬。 –