(1)不使用额外的空间交换两个数
a. 方法一. A=A+B
B=A-B;(A+B-B=A)
A=A-B;(A+B-A=B)
b.方法二. A=A^B
B=B^A
A=A^B
(2)有100个乒乓球,你和另一个人轮流拿球,一次最少拿1个,最多拿5个,谁拿到最后1个谁赢,现在你先拿球,找出拿球方法。
通分析可知:最后留下6个球能保证拿到最后一个球,依次倒推至最后剩下96个球,所以开始拿4个球,对方拿几个球,然后每次拿6减去几个球,共16轮这样的操作。保证了拿到最后一个球。
(1)不使用额外的空间交换两个数
a. 方法一. A=A+B
B=A-B;(A+B-B=A)
A=A-B;(A+B-A=B)
b.方法二. A=A^B
B=B^A
A=A^B
(2)有100个乒乓球,你和另一个人轮流拿球,一次最少拿1个,最多拿5个,谁拿到最后1个谁赢,现在你先拿球,找出拿球方法。
通分析可知:最后留下6个球能保证拿到最后一个球,依次倒推至最后剩下96个球,所以开始拿4个球,对方拿几个球,然后每次拿6减去几个球,共16轮这样的操作。保证了拿到最后一个球。