【发布时间】:2010-11-03 10:09:13
【问题描述】:
一个二进制数能被 3 整除,当它有偶数个 1 时,它是真的吗? 比如 11000 可以被 3 整除,而 1110 则不能。
【问题讨论】:
标签: algorithm
一个二进制数能被 3 整除,当它有偶数个 1 时,它是真的吗? 比如 11000 可以被 3 整除,而 1110 则不能。
【问题讨论】:
标签: algorithm
不 - 有一个技巧,但它比这更复杂 - 你必须计算偶数位置的 1 数量和奇数位置的 1 数量。参见例如Check if a number is divisible by 3.
【讨论】:
不,那是错误的。例如 5_dec = 101_bin 不能被 3 整除。要检查是否能被 3 整除,您必须计算偶数位置的个数并减去奇数位置的个数。如果差可以被 3 整除,则原始数字可以被 3 整除(反过来,可以通过重复相同的规则来检查)。
【讨论】: