第四章第二节通关秘籍:解锁新境界攻略解析
3
0
上回提到的异或门将在下文频繁使用,尤其是那个功能强大的取余函数。虽然不用它也能说明问题,但会显得繁琐复杂。为便于阐述、减轻阅读负担,接下来的内容将直接引用该函数,不再另寻他法,以求简洁明了,提升表达效率。

分两步进行
(1)取个位
两个取余结果异或,一步完成。
取十位数字,采用第一种方法。
三个个位数相加最大不超过两位数,因此百位无需考虑,直接忽略即可,解题只需关注十位及以下部分。
当三个数中至少有两个是1时,可进入十位。若三个数全为1,同样满足条件。但题目仅涉及三个数,不存在第四个数的情况。
先别管那么多,直接判断下面两个数是否都能进位,若都是1,就立即结束,执行一次与操作即可。
当两个输入中至少有一个为1时,输出可进入1状态。具体包括:两数均为1,或其中一个为1且上方数为1。可通过先对下方两数进行异或运算,再与上方数值进行与运算实现。
能进1的情况有三种,其中三个数都为1的情形可归入(2-1)中,无需单独考虑。也可一并分析,只需在下方添加两个and,再连接一个and即可。
将上述三种情况通过或运算连接,综合处理后即可得到十位数的结果。
这样解决了,还有哪里不清楚吗?
还有个
十位取数法二
如图