A71857 | 13位ISBN号码的校验码
来源编程题
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
每一本正式出版的书的封底都有一串号码,如 ISBN 978-7-121-41489-3,它叫做"国际标准书号"(International Standard Book Number,缩写为 ISBN),用来唯一代表一本书。
从 2007 年 1 月 1 日起,国际标准书号升级为 13 位,这 13 位数字可以分为 5 个区(为提高可读性,用连字符“-”将 5个区隔开),从左往右,5 个区的含义依次如下:
- (1)EAN号码段,一共包含 3 位数字。
- (2)国家、语言或区位代码,长度为 1-5 位,7 表示中国大陆。
- (3)出版社代码,长度为 2-7 位,用以识别书籍的出版社。
- (4)出版序号,由出版者自行编配,以识别书目或版本。
- (5)校验码,一位数字,用以核对书号是否正确。
其中,书号校验码的计算步骤如下:
- 1、前 12 个数字交替地乘以权数 1 和 3;
- 2、所有积相加;
- 3、总和除以 10,得出余数;
- 4、如果余数为 0,则校验码为 0。否则用 10 减去余数,所得的数字就是校验码。
例如:书号为 978-7-121-41489-3,校验码 3 的计算步骤为:
1、9*1、7*3、8*1、7*3、1*1、2*3、1*1、4*3、1*1、4*3、8*1、9*3
2、9*1+7*3+8*1+7*3+1*1+2*3+1*1+4*3+1*1+4*3+8*1+9*3 = 127
3、127%10 = 7
4、10-7 = 3
请编写程序判断输入的 ISBN 号码中校验码是否正确,如果正确,输出 yes。否则输出 no。
输入格式
输入一个字符串 s,表示一本书的 ISBN号码。该字符串长度为 13 ,由数字和连字符“-”组成。
输出格式
根据输入的 ISBN 号码计算其校验码并与给出的校验码进行比较。
如果计算出的校验码与输入的 ISBN 号码中的校验码相匹配,则输出 yes;否则,输出 no。
输入输出样例
输入 #1
978-7-121-41489-3
输出 #1
yes
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?