a020 身份證驗證
- 我國的身分證字號有底下這樣的規則,因此對於任意輸入的身分證字號可以有一些基本的判斷原則,請您來判斷一個身分證字號是否是正常的號碼(不代表確有此號、此人)。
1. 英文代號以下表轉換成數字
| 字母 | 數字 | 縣市 | 字母 | 數字 | 縣市 | 字母 | 數字 | 縣市 |
|---|---|---|---|---|---|---|---|---|
| A | 10 | 台北市 | J | 18 | 新竹縣 | S | 26 | 高雄縣 |
| B | 11 | 台中市 | K | 19 | 苗栗縣 | T | 27 | 屏東縣 |
| C | 12 | 基隆市 | L | 20 | 台中縣 | U | 28 | 花蓮縣 |
| D | 13 | 台南市 | M | 21 | 南投縣 | V | 29 | 台東縣 |
| E | 14 | 高雄市 | N | 22 | 彰化縣 | W | 32 | 金門縣 |
| F | 15 | 台北縣 | O | 35 | 新竹市 | X | 30 | 澎湖縣 |
| G | 16 | 宜蘭縣 | P | 23 | 雲林縣 | Y | 31 | 陽明山 |
| H | 17 | 桃園縣 | Q | 24 | 嘉義縣 | Z | 33 | 連江縣 |
| I | 34 | 嘉義市 | R | 25 | 台南縣 |
- (2) 英文轉成的數字,個位數乘 9 再加上十位數的數字。
- (3) 身分證後 9 碼中,前 8 碼從左到右依次乘上 8、7、6、5、4、3、2、1。
- (4) 求出 (2)、(3) 及最後一碼(檢查碼)的和。
- (5) 除以 10 若整除,則為
real,否則為fake。
範例:T112663836
T = 27 (2 + 79) = 65
65 + (18 + 17 + 26 + 65 + 64 + 33 + 82 + 3*1) + 6 = 180
180 % 10 == 0,因此為 real
C++
1 |
|
Python
1 | import sys |
Leave a comment