1. 程式人生 > >不使用中間變數進行兩變數之間交換

不使用中間變數進行兩變數之間交換

a = 4
b = 5
#one
a = a+b
b = a-b
a = a-b
#two
a, b = b, a
#three
a = a^b
b = a^b
a = a^b
print(a,b)
異或推導過程

1.a ⊕ a = 0

2.a ⊕ 0= a

由上知

a=a^b

b=a^b^b=a^0=a

a=a^b=a^a^b=0^b=b