编程题:EAN13条形码的验证
编写程序实现如下功能:
超市购买的商品包装上都会有一个条形二维码,一般是一种称为EAN13码的条码,一共由13个数字组成。前12位数字包含了国家代码、厂商代码和产品代码,最后一位数字是校验码,结构如下所示(N1到N12为前12位数字,C为校验位数字):
N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 C
校验位C和前12位数字的运算关系如下:
设:
C1为前12位数字中的奇数位数字之和,即:C1=N1+N3+N5+N7+N9+N11
C2为前12位数字中的偶数位数字之和乘以3的结果,即:C2=(N2+N4+N6+N8+N10+N12)*3
CC 为 (C1 + C2)的个位数字
则:校验位数字C为10-CC的个位数字。
请编写程序用来检测用户输入的一个13位数字能否通过EAN13码的校验,如果输入的条形码不是13位,输出“条形码错误”;如果输入的条形码是13位,并且能通过验证,请输出:“校验已通过”;是13位,但是不能通过验证,输出:“校验未通过”。
### 输入格式:
输入13位的条形码。
### 输出格式:
如果输入的条形码不是13位,输出“条形码错误”;如果输入的条形码是13位,并且能通过验证,请输出:“校验已通过”;是13位,但是不能通过验证,输出:“校验未通过”。
### 输入样例1:
in
6926130531112
### 输出样例1:
out
校验已通过
### 输入样例2:
in
6926130531113
### 输出样例2:
out
校验未通过
answer:若无答案欢迎评论
超市购买的商品包装上都会有一个条形二维码,一般是一种称为EAN13码的条码,一共由13个数字组成。前12位数字包含了国家代码、厂商代码和产品代码,最后一位数字是校验码,结构如下所示(N1到N12为前12位数字,C为校验位数字):
N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 C
校验位C和前12位数字的运算关系如下:
设:
C1为前12位数字中的奇数位数字之和,即:C1=N1+N3+N5+N7+N9+N11
C2为前12位数字中的偶数位数字之和乘以3的结果,即:C2=(N2+N4+N6+N8+N10+N12)*3
CC 为 (C1 + C2)的个位数字
则:校验位数字C为10-CC的个位数字。
请编写程序用来检测用户输入的一个13位数字能否通过EAN13码的校验,如果输入的条形码不是13位,输出“条形码错误”;如果输入的条形码是13位,并且能通过验证,请输出:“校验已通过”;是13位,但是不能通过验证,输出:“校验未通过”。
### 输入格式:
输入13位的条形码。
### 输出格式:
如果输入的条形码不是13位,输出“条形码错误”;如果输入的条形码是13位,并且能通过验证,请输出:“校验已通过”;是13位,但是不能通过验证,输出:“校验未通过”。
### 输入样例1:
in
6926130531112
### 输出样例1:
out
校验已通过
### 输入样例2:
in
6926130531113
### 输出样例2:
out
校验未通过
answer:若无答案欢迎评论