阿普二信幫忙班聯會辦理暑期營的保險事宜,不巧他的名冊還沒建檔就不小心被墨水濺到了,而且只賤到身份證的欄位,類似如下:
序號 學校及代號 姓名 身份證 生日 電話 地址
001 10101 趙一 A1*3456789 99/01/23 02-87654321 台北市麗水街6號
002 10102 錢二 B12*456789 99/01/23 02-87654321 基隆市仁一號5號
...
013 10301 孫三 C2234*6789 99/01/23 02-87654321 新北市連城路4路
...
024 11101 李四 D123456*89 99/01/23 02-87654321 桃園市建國路3號
...
105 12301 天高 *223456789 99/01/23 02-87654321 台北市中山路2路
106 12302 地遠 Y12345678* 99/01/23 02-87654321 新北市中正路1號
...
阿普希望你能幫忙寫一個程式,查出身份證被賤到的字是什麼?
中華民國身分證的號碼是經由一串公式所產生出來的,其身分證字號共有十碼,包括第一個大寫的英文字母與接續的九個阿拉伯數字。
(1)第一個碼代表地區,轉換方式為:A 轉換成1,0 兩個字元,B 轉換成1,1,餘如下:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
34 |
18 |
19 |
20 |
21 |
22 |
35 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
32 |
30 |
31 |
33 |
(2)第二個碼代表性別,1 代表男性,2 代表女性
(3)第三個碼到第九個字元為流水號碼。
(4)第十個碼為檢查號碼。
例如:A123456789,其A 的轉換字元是1 和0,其餘各碼亦轉換成字元,依序存在 n1n2n3n4n5n6n7n8n9n10n11 的變數中,如右:然後再把每一個變數,依序乘上 1 9 8 7 6 5 4 3 2 1 及 1 的加權,再相加,如下:
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
n1 |
n2 |
n3 |
n4 |
n5 |
n6 |
n7 |
n8 |
n9 |
n10 |
n11 |
n1×1+n2×9+n3×8+n4×7+n5×6+n6×5+n7×4+n8×3+n9×2+n10×1+n11×1
將身分證號碼 A123456789 套入公式,其結果為:
1x1 + 0x9 + 1x8 + 2x7 + 3x6 + 4x5 + 5x4 + 6x3 + 7x2 + 8x1 + 9x1 = 130
然後再除以 10,如果整除,該組身分證字號為有效。
第1行為一正整數n,接著n行,每行只有二欄,序號(1~999)及10個字元的身份證號(但有1個*)
針對每一列輸入,請輸出3位數的序號及正確的10字元身份證,若有多種可能請一起輸出再同一列,並依字典序輸出,同一列的資料間以1個空格隔開
6 1 A1*3456789 2 B13*456789 13 C2234*6789 24 D233456*89 105 *223456789 106 Y12345678*
001 A123456789 002 B132456789 B137456789 013 C223416789 C223466789 024 D233456189 D233456689 105 J223456789 V223456789 X223456789 106 Y123456788
原測資輸出部份每列中間多1空格,2016/7/3更正
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|