描述 |
---|
18位身份证的最后一位是校验码,校验码根据前17位数字经过如下几步骤计算得到。 第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。 现在有一个身份证号,如果校验码是正确的,那么输出Yes,否则输出正确的身份证号。 |
输入 |
一个正整数n,表示有n组案例。 每组案例由一个18位的字符串组成。 |
输出 |
针对每组案例,如果身份证校验码是正确的,则输出Yes;否则输出一个字符串,是校验码修改成正确的身份证号。 每组案例输出后都要换行。 |
样例输入 |
2 432831196411150810 432831196411150811 |
样例输出 |
Yes 432831196411150810 |
HINT |
来源 |
18-19(2)第1次线上赛 |