ChatGPTでシェル芸勉強会の問題が解きたい
はじめに 月額20ドルを支払ってGPT-4が利用できるようになったので、 ChatGPTにシェル芸勉強会の問題を解いていただこうと思います。 シェル芸勉強会の問題をお借りします(すみません)。 今回は第63回シェル芸勉強会の問1と問2に挑戦してもらいます。 リンク 利用モデル:GPT-4 https://engineers.ntt.com/entry/2023/03/09/091735 第63回ビッグハンドタウンシェル芸勉強会の問題と解説 実行環境:websh 問1 : 九九の合計 私が入力した文章 ワンライナーのBashスクリプトで九九の掛け算(1×1~9×9まで)の答えの合計を求めてください。 ChatGPTが書いたBashスクリプト sum=0; for i in {1..9}; do for j in {1..9}; do sum=$((sum + i * j)); done; done; echo $sum 実行結果 2025 私の感想 ワンライナーと言えるかは怪しいですが、普通に解いていただけてとても嬉しいです。 デバッグをする必要もなく、一発で実行可能なスクリプトを出力してもらえました。 「GPT-4が凄い!」という噂は間違いではないのかもしれません。 この調子でもう一問、解いていただきましょう。 問2 : おつりの出し方 私が入力した文章 ワンライナーのBashスクリプトで9132円の支払いに10000円札で払ったときのおつりの出し方を求めてください。 ChatGPTが書いたBashスクリプト change=$((10000 - 9132)); echo "おつり: ${change}円"; echo "5000円札: $((change / 5000))"; change=$((change % 5000)); echo "1000円札: $((change / 1000))"; change=$((change % 1000)); echo "500円硬貨: $((change / 500))"; change=$((change % 500)); echo "100円硬貨: $((change / 100))"; change=$((change % 100)); echo "50円硬貨: $((change / 50))"; change=$((change % 50)); echo "10円硬貨: $((change / 10))"; change=$((change % 10)); echo "5円硬貨: $((change / 5))"; change=$((change % 5)); echo "1円硬貨: $((change))" 実行結果 おつり: 868円 5000円札: 0 1000円札: 0 500円硬貨: 1 100円硬貨: 3 50円硬貨: 1 10円硬貨: 1 5円硬貨: 1 1円硬貨: 3 私の感想 かなりの力技で問題を解いてもらいました。 ワンライナーと言えるかは分かりませんが、普通に解いていただけてとても嬉しい気持ちです。 今回もエラーが出ることはなく、すんなり実行できました。 もっといろんな問題で試してみたいですね。 ...
