更新於 2024/08/07閱讀時間約 1 分鐘

女子蝶式奧運與程式設計的奇妙聯繫

最近奧運看到了 女子蝶式

中國的張雨霏得到銅牌

金銀牌都是美國的

好希望有亞洲人可以贏過歐美人啊🤣

後來查了一下 張雨霏是亞洲蝶后啊

就再奧運開始沒多久

公司就傳來要降低支出 裁員的消息

就這個時刻 想說來練習刷題一下好了

就問了ChatGPT 有沒有常考題

有一個swap 的function

很簡單 吧 a, b 的值互換

通常我都是用另一個變數來暫存其中一個的值

但是ChatGPT 給了一個不用另一個變數就可以達成的解法

用了XOR

  1. A = A ^B
  2. B = A ^ B
  3. A = A^ B

跟據Xor 的性質

滿足

  • L1. 交換率 A^B = B^A
  • L2. 分配率 (A^B)^C = A^ (B^C)
  • L3.  A ^ A = 0
  • L4.  A ^ 0 = A, 

所以 3 中

B= (A^B )^B = A^ ( B^B)= A^ 0= A

4中

A =( A ^ B )^ A = (A^A)^B= 0 ^B= B

就換好了 好神奇啊

如果數學好 真的可以省下一個變數呢

跟奧運有什麼關係 ?




分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.