電話客服中心
許多銀行與公司設有電話客服中心,提供客戶諮詢服務。為了加速身份驗證,來電客戶通常會被要求輸入身份證號碼。然而,由於電話按鍵僅支援數字,輸入身份證字母開頭的第一碼較為不便,因此部分語音系統允許客戶僅輸入後 9 碼,並根據這 9 碼推算可能的英文字母開頭。
身份證號碼的最後一碼為「檢查碼」,此碼是根據前 9 碼推算出來的,推算規則如下:
先依照下表將英文字母轉換為 2 位數字,再加上第 2 到第 9 位的 8 位數字一共有 10 位數字。
地區 | 代碼 | 地區 | 代碼 |
---|---|---|---|
台北市 | A10 | 彰化縣 | N22 |
台中市 | B11 | 新竹市 | O35 |
基隆市 | C12 | 雲林縣 | P23 |
台南市 | D13 | 嘉義縣 | Q24 |
高雄市 | E14 | 台南縣 | R25 |
台北縣 | F15 | 高雄縣 | S26 |
宜蘭縣 | G16 | 屏東縣 | T27 |
桃園縣 | H17 | 花蓮縣 | U28 |
嘉義市 | I34 | 台東縣 | V29 |
新竹縣 | J18 | 金門縣 | W32 |
苗栗縣 | K19 | 澎湖縣 | X30 |
台中縣 | L20 | 陽明山 | Y31 |
南投縣 | M21 | 連江縣 | Z33 |
- 將這 10 位數字從左至右依次相乘:第一位乘 1,第二位乘 9,第三位乘 8,依此類推至第十位乘 1。
- 計算每位數字的乘積總和 \(s\)。
- 取總和的個位數 \(m\)。
- 檢查碼 \(c = 10 - m\)。
假設某人的身份證號碼前 9 碼為 F13024567,那麼他的最後一位檢查碼的計算過程如下:
F | 1 | 3 | 0 | 2 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
1 5 | 1 | 3 | 0 | 2 | 4 | 5 | 6 | 7 |
×1 ×9 | ×8 | ×7 | ×6 | ×5 | ×4 | ×3 | ×2 | ×1 |
1 + 45 + 8 + 21 + 0 + 10 + 16 + 15 + 12 + 7 = 135
檢查碼 = 10 - (135 % 10) = 5 根據上面的規則,A12345678、M12345678 和 W12345678 這三個號碼的檢查碼都是 9。因此,如果在電話上所輸入的後 9 碼是 123456789 時,它的第一位英文字母可能是 A,也可能是 M 或 W。
輸入格式
輸入有若干筆測試資料,每筆一行,含有一個身份證號碼的後 9 碼。
輸出格式
對於每筆測試資料,將可能的第一位大寫字母依字母順序輸出於一行。
範例輸入
130245675
123456789
範例輸出
FS
AMW
留言
這個說明有點饒舌。