パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

プログラムの難問に挑む手法4 チューリングマシン

2021-07-14 | プログラムをマスター計画2021

馬車馬のように問題を解いているとプログラムの問題もそんなにパターンがあるわけでもないような気がします。

チューリングマシンも何度か作っているので...

https://www.codingame.com/training/hard/turing-machine

 

過去ここでHaskellの学習をしていたらしいです。今となっては謎の呪文に近い。

たぶん解こうとして解けなかったのでワークスペースとして活用したのでしょう。

 

仕様把握が難しいケース

プログラムの前にぐちっているのは仕様の詰めのような作業です。

この英語の量にはまいりました。google翻訳して、わかるところからパージしていきます。

TestCaseをよく見たりして少しずつ、少しずつ理解していきました。

 

解答時間の割合は 仕様の把握7割 プログラム2割 調整1割ぐらいです。

 

このチューリングマシンちょっと変わっていて、命令ごとにリスト(配列)があって、テープの現在位置に書かれている数値と同じものを実行します。

処理の流れも次の指定命令を実行するという形で、馴染みのない形式でした。(ほとんどこの2行の把握に時間を費やしています)

 

大げさに言うとマイコン5種類にOSを5つ提供するような作業になります。

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。