b765. 又是身份證(商競綜合題)
標籤 : 身份證 陣列
通過比率 : 59人/62人 ( 95% ) [非即時]
評分方式:
Tolerant

最近更新 : 2016-07-03 22:05

內容

阿普二信幫忙班聯會辦理暑期營的保險事宜,不巧他的名冊還沒建檔就不小心被墨水濺到了,而且只賤到身份證的欄位,類似如下:

序號 學校及代號 姓名 身份證 生日 電話 地址
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個空格隔開

 

範例輸入 #1
6
1 A1*3456789
2 B13*456789
13 C2234*6789
24 D233456*89
105 *223456789
106 Y12345678*
範例輸出 #1
001 A123456789
002 B132456789 B137456789
013 C223416789 C223466789
024 D233456189 D233456689
105 J223456789 V223456789 X223456789
106 Y123456788
測資資訊:
記憶體限制: 64 MB
提示 :

原測資輸出部份每列中間多1空格,2016/7/3更正

標籤:
身份證 陣列
出處:
10x商業 [管理者: p3a_owhj (阿普二信) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」