整整三年多過去了,從未有人提及這個新算法。
用四個隨機數做個簡單的 24 點遊戲,每張牌要求在 1 到 10 之間,包括 1 和 10。
小朋友們都是從 rand() % 10 (一個大的隨機數除以 10 的餘數)開始,然後發現怎麽有 0,然後又發現怎麽從來都不見 10。不少人試過 rand() % 11,卻發現雖然解決了丟失 10 的問題,但不該出現的 0 依舊存在。最終大家殊途同歸,都停留在“公認”的解決方案 rand() % 10 + 1,包括三年前的 Ethan 自己(當時是用 Swift 編程語言在 Xcode 中玩 iOS 編程)。
今天,五年級的 Ethan 顯然已經忘卻了所謂的“公認”解決方案,稍作思考,驚爆:“如果遇到 0 我就打印 10”。
類似這樣的(原創)心靈火花,永遠應該受到最大的鼓勵。