2009-12-09 69 views
2

我最近一直在閱讀關於求職面試的錯誤糾正,並撰寫了許多使用n-ary BCH(Bose,Chaudhuri,Hocquenghem)循環代碼的程序,並且現在已經編寫了一個腳本將給予給定用戶(編碼)的「區號」一次的電話號碼,並將對其解碼並將修復多達兩個錯誤(並檢測更多)。修復缺少數字的代碼數

我想現在能夠修復其中一個電話號碼,如果它缺少一些數字(兩個似乎可行)。在研究ISBN碼後,似乎有可能repair a ISBN code if two random digits have been removed

+0

從這裏開始:http://en.wikipedia.org/wiki/Error_detection_and_correction – BalusC

+0

我已經瀏覽了該頁面幾次,但一直未能找到任何有關恢復代碼字丟失的數字的任何內容。我已經查看了擦除代碼,但從我收集的內容來看,它需要您全面瞭解數字。 – AlexT

+0

如果你用僞代碼寫出你的編碼和解碼/修復算法會有幫助,因爲我沒有看到解碼的代碼,這對了解發生的事情至關重要,或者至少說明你正在從解碼中恢復,在每次迭代中,以及它應該是什麼。 –

回答

1

在您的解碼類中,您聲明瞭症狀數字確定是否存在錯誤。爲什麼不用xy替換這兩個缺失的數字,並在整個數字中更改它們以找到每個可能的空間給他們,其中每個綜合症數字爲0?

問題是找到這些錯誤的位置。正如你所說的,只是堅持左邊,右邊和中間的數字不會有太大的作用,因爲它會返回錯誤的代碼。

1

我不認爲電話號碼確認限制使得難以得到錯誤的號碼。

此外,我相信國際標準圖書編號只有一個模數檢查,只能檢測到一個數字是錯誤的(多個可能會相互抵消)。

換句話說,你根本無法可靠地做你想做的事情。

+0

對不起,我的問題有點混亂。我不是編碼和解碼電話號碼,而是相同大小和外觀的代碼。該程序被寫爲「電話號碼修復程序」,但它需要一個六位數的編碼字符串並創建四個額外的數字。解碼然後處理十位數字中的錯誤,如果它們出現的話。我想要做的是處理一種情況,即通過我的一個10位數字編碼的數字,但丟失一位或兩位數字,然後修復該數字。 – AlexT

+0

您應該查看「糾錯碼」,因爲這解釋瞭如何計算和插入足夠的信息來糾正給定數量的不正確數字。被警告。 IIRC您可以獲得每塊大量數字的最佳性能。 –