2012-11-28 42 views
1

我需要幫助設計一個圖靈機,它將計算以下f(x) = x mod 3。我只是需要幫助入門,因爲我沒有對如何處理這個問題設計圖靈機

+0

在什麼基礎(一元/二元/ denary/...)是輸入?輸入如何分隔?輸出應該如何執行? –

+0

基數應該是一元的 –

+0

是否要用輸出替換輸入,還是在輸入後追加輸出? –

回答

1

提取從評論熟悉:

輸入和輸入爲一元作爲1字符串。空格爲0。輸出應該重寫輸入。

輸入是{x,3},每個參數或{x}之間有一個空格。

輸出是{x mod 3}。

算法:

  • 轉到輸入的結束。
  • 刪除第二個參數。
  • 雖然參數中至少有三個符號,請將其刪除。

狀態機:

  • 開始:如果輸入爲0,向右移動,然後轉到 「刪除權」,否則向右移動。
  • 刪除權限:如果輸入爲0,向左移動並轉到「查找參數」。否則寫入0並向右移動。
  • 查找參數:如果輸入爲0,則向左移動。如果輸入是「磁帶開始」,則結束。否則向左移動並轉到狀態「找到1」。
  • 找到1:如果輸入是「磁帶開始」,則結束。否則向左移動並轉到「找到2」狀態
  • 找到2:如果輸入是「磁帶開始」,則結束。否則,轉到狀態「刪除權利」。