1. 程式人生 > >杭電2017新生賽1002-身份證驗證

杭電2017新生賽1002-身份證驗證

大學時代的小Q,是一個志向遠大的熱血青年,欲致力於國家網路建設。長年泡在電腦密集的地區潛心鑽研以網際網路為傳輸媒介,以個人計算機為終端,旨在實現休閒、交流、獲得虛擬成就的多人線上遊戲。

畢業後,小Q實現了自己的夢想,成功當上了一名光榮的網管。

眾所周知,進網咖是要刷身份證的,現在老闆讓他寫一個程式,判斷進來的人是否夠18週歲(當天恰好是18歲生日也可),並且根據身份證最後一位來校驗身份證真偽。

身份證號碼共有18位,從左至右編號,第7至第14位為生日,格式為YYYYMMDD,代表年月日。最有一位為校驗位,計算規則如下:

1. 將前面的身份證號碼17位數分別乘以不同的係數。從第1位到第17位的係數分別為:7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2。

2. 將這17位數字和係數相乘的結果相加。

3. 用得到的結果除以11,餘數為0~10時對應的最後一位為:1,0,X,9,8,7,6,5,4,3,2。

請判斷給定的身份證號,如果號碼合法且持有人年滿18輸出“Accepted”,否則輸出“Sorry”(均不含引號)。