gpt4 book ai didi

algorithm - 0和1的个数相同的二进制数

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:41 35 4
gpt4 key购买 nike

当我解决Euler project problem #15时我意识到它可以通过从头到尾的路线组合的#来解决。生成的路线始终具有相同大小的正确或向下选择(或 0 和 1),并且正确的路线始终具有相同数量的 0 和 1。因此,二进制字中 0 和 1 的数量相同的数字数量是C(2,1) 为 1 位长度C(4,2) 表示 2 位 ""C(6,3) 代表 4 位 ""...

现在我的问题是:是否有一个函数可以解决一个数字是否具有相同数量的 0 和 1?我猜它更像是一个逻辑函数,我不想迭代所有数字或使用正则表达式(这比迭代更糟糕)。

**另一个问题是关于这个“平衡”值之间的增长和空间?

最佳答案

您正在寻找一个popcount 函数,它计算给定数字中设置位的数量。有些处理器内置了它,有些则没有。

c=0; while (n &= (n-1)) c++;

完成工作,但会破坏 n

参见 this link如需更好的算法,或谷歌“popcount”。

关于algorithm - 0和1的个数相同的二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522417/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com