Python请问这两个输出内容为什么一样?

原来是求斐波那契数Fn除以10007所得余数 这两种输出效果为什么相同?求数学解释!

img

一种是相加之后转二进制,只保留最后一位(fabo1)
另一种是直接用二进制数1和0做加法,并且忽略溢出
总之都是最后一位在做加法,高位相加的值都被忽略了,那能不一样吗
其实你可以把%2替换成任意数,比如%10007,结果保证也是一样的。

a,b = b,a+b 是输出斐数列的基础,在运算过程中取余了当然不对的

fabo1()直接返回取余结果是对的