Press "Enter" to skip to content

Category: CSAW Qualifiers

[CSAW]Coinslot – 25pt

Description: #Hope #Change #Obama2008 nc misc.chal.csaw.io 8000 Solution: 連上伺服器後 如下圖 看來要求是需要根據題目給出的數值 , 算出最少的硬幣組合 在開始了寫了一會之後發現有時候會有1的誤差 , 經調試後發現這是java一個自帶的問題 1.89+1理應是2.89 , 可是電腦卻給出2.8899999 在查資料後發現 , 原來很多編程語言都有這個問題 , 因為double和float原本就不是一個精通確性的運算 浮點數只是根據cpu架構上的不同虛擬出來的處理單元 , 而且電腦並不能夠直接讀取十進制的數字 , 必先轉為二進制作計算 ,但是有些浮點數是只能取其近似值的 , 所以便會出現誤差 , 例如下圖 所以我決定將所有數字倍大100 , 便能作整數計算 故得出以下算法 自動解了400題 , 終於flag出來了 flag{started-from-the-bottom-now-my-whole-team-fucking-here}

Comments closed