此题使用python内置函数 bin 的注意点

  • 注意将负数 & 一个 0xffffffffffffffff (由于64位)
import sys
def count_ones(n: int) -> int:
    return bin(n & 0xffffffffffffffff).count('1')
def main():
    inputs = sys.stdin.read().strip().split()
    for s in inputs:
        print(count_ones(int(s)))
if __name__ == '__main__':
    input = sys.stdin.readline
    main()