用 ChatGPT 完成筆試題

收到了一個公司的面試邀約,需要完成一個程序題,恰好 ChatGPT 正火,就嘗試生成了一下,結果讓我自愧不如,實在是覺得短時間內無法超越,索性上傳github發送給了對方,非常慶幸7天回覆期內沒有收到任何的回覆,沒有通過也沒有被懟。

網上搜索了一下,這道題解答挺多的,但是ChatGPT的做法還是讓人眼前一亮,欣喜今後不用寫代碼同時,找孩子一起玩了一下自己ctrl+c、ctrl+v的遊戲,發現問題還是有一些,比如最終的勝者的判斷錯誤,如果只剩一根牙籤應該預判獲勝方。

我們一起看看 ChatGPT 完成的這個題目...

題目

將15根牙籤,分成三行,每行自上而下(其實方向不限)分別是3、5、7根, 安排兩個玩家,每人可以在一輪內,在任意行拿任意根牙籤,但不能跨行,拿最後一根牙籤的人即爲輸家。

分析

實現

用 ChatGPT 分別生成了C#、Javascript 的代碼,基本思路是一樣的。

  • 使用數組來存儲行及對應的牙籤數量;
  • 定義循環,模擬玩家進行遊戲,模擬玩家錄入行號 和 每行錄入的牙籤數量,驗證行號是否正確,錄入的牙籤數量是否超出剩餘,更新行內剩餘的牙籤數量;
  • 每行數量是否爲0,結束遊戲和顯示贏家。

成品

https://github.com/smallidea/toothpicks-game
開發工具:vscode,語言:C#、Javascript
說明:

  • 改進:如果牙籤總數爲0,或者只剩下1根牙籤,結束遊戲和顯示最終贏家
  • 分別使用 Javascript、C# 寫完了代碼,時間關係Type Script代碼沒有寫,其實基本邏輯是一樣的
    • C# 採用命令行的標準輸入、輸出的方式進行交互
    • JS 使用彈窗的形式進行交互,輸出 F12 見 console
  • Jupyter Notebook 的方式有點折騰,後續再做

調試效果

C#

cd csharp
dotnet run

Javascript

進入 js 文件夾,打開 test.htm 文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章