>>165 チューリングマシン(Python3)
#チューリングマシン本体(不受理の場合例外が発生する)
def turingMachine(tape, state_function, current_state, final_state):
i=0
n = len(tape)
while i < n:
sf = state_function[current_state]
symbol = tape[i] if i >= 0 else None
(current_state, rsymbol, is_right) = sf[symbol]
if i >= 0:
tape[i] = rsymbol
if current_state == final_state:
return True
i += 1 if is_right else -1
return False
def TmMul(a, b):
#1000000の箇所はメモリ容量に合わせて適当に増やす
tape = ["0"] * a + ["1"] + ["0"] * b + ["1"] + [None] * 1000000
trans = [{"0":(6, None, True)},
{"0":(2, "X", True), "1":(4, "1", False)},
{"0":(2, "0", True), "1":(2, "1", True), None:(3, "0", False)},
{"0":(3, "0", False), "1":(3, "1", False), "X":(1, "X", True)},
{"X":(4, "0", False), "1":(5, "1", True)},
{"0":(5, "0", False), "1":(7, "1", False)},
{"0":(6, "0", True), "1":(1, "1", True)},
{"0":(8, "0", False), None:(7, None, True), "1":(9, None, True)},
{"0":(8, "0", False), None:(0, None, True)},
{"0":(9, None, True), "1":(10, None, True)}]
turingMachine(tape, trans, 0, 10)
return len(list(filter(lambda x: x != None, tape)))
print(TmMul(3, 8)) #=>24
探検
プログラミングのお題スレ Part18
■ このスレッドは過去ログ倉庫に格納されています
173デフォルトの名無しさん
2020/08/04(火) 18:45:38.06ID:lImhU2CT■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 今年の漢字 [ぐれ★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- あぼーん
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 【老舗文具メーカー】「生成AIで制作していた」――サクラクレパス、“AI疑惑”ポスターの調査結果を報告 ★2 [ぐれ★]
- 一人殺したい奴がいる
- __トランプ、G7に代わる「Core 5」構想、米 中 露 印 日をまとめる巨大枠組み、世界秩序の再編につながる可能性 [827565401]
- 残クレタワマン、始まるwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【速報】今年の漢字、「熊」!wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- エアライダーもう誰もやってなくね?
- 【速報】今年のゲームオブザイヤー、Clair Obscur: Expedition 33 [779938112]
