mod(3,7)= 3とmod(7,3)= 1のように、2つの非負の数値を入力してmod演算を実行するチューリングマシンを設計します。明らかに、TMの入力と出力に関する仮定と形式を指定します。チューリングマシン:2つの数値のモッズを取る?
0
A
答えて
2
入力は、セパレータ記号で区切られた単項の2つの正の整数XとYです。出力は単項では単一のZです。 TMは片面シングルテープであることが決定的である。
まず、右に移動してセパレータを見つけます。次に、Xの終わりとYの始まりとの間を行き来して、記号の対をマーキングする。あなたがYを使い果たす前にXを使い果たした場合、X < YとX mod Y = X;セパレータとその後ろのすべてを消去してから、すべてのテープ記号を単項桁に変更し、halt-acceptします。あなたがXの前にYを使い果たした場合、Xのマークされた記号を消去/区切りに変更し、Yのマークされた記号を単項の数字に復元して、XのY =(X - Y)mod Y )。
はここにあなたの2のmod 3が処理されます方法は次のとおりです。
#110111#
#1a0b11#
#aa0bb1#
#aa#####
#11#####
はここ3 MOD 2が処理されます方法は次のとおりです。
#111011#
#11a0b1#
#1aa0bb#
#100011#
#a000b1#
#a######
#1######
関連する問題
- 1. チューリングマシンの設定
- 2. IFステートメントで2つの異なる値を取る変数
- 3. 解読後に2つの変数値を読み取る
- 4. 2つの数値の間にある属性値を取得する
- 5. 2つの数値のリスト
- 6. 複数のチェックボックスの2つの値だけを取得
- 7. 2つの数値の間の素数を見つける
- 8. 2つの値をとるPython関数
- 9. チューリングマシンの実装をC
- 10. 私は2つの数値を取り、ここでオーダー
- 11. 2つの非数値と1つの数値をプロットするR
- 12. テープ記号が2つしかないチューリングマシンを構築できますか?
- 13. 比例2つの数字の間の値を見つける
- 14. 2つの値の共通の因数を見つける
- 15. 数値の2つの文字列の合計を取得する方法 - C++
- 16. SQLサーバー:2つの数値列の値を連結する
- 17. 変数の値を2つの値に変更する
- 18. 2つの値を1つの変数にマージする
- 19. jQueryで最小の2つの数値を取得する方法は?
- 20. 2つのスレッドを使用して2つの数値を加算する
- 21. 異なる精度と位取りで2つの数値を比較する
- 22. Swiftの1つの変数/定数から2つの値を取る方法はありますか?
- 23. パンダ:2つの値を持つ列から最小値を取る
- 24. 2つの値の最小値を見つける関数の実装
- 25. 同じ変数の2つの値
- 26. 2つの関数の最小値
- 27. 2つのワークシート間で2つの値を一致させる数式
- 28. のErrorDocument&モッズ書き換え
- 29. Mysql:2つの列のすべての値の数を取得します。
- 30. 異なる値を持つ2つのパブリック静的変数