4886 - 13位ISBN号码的校验码

题目描述

每一本正式出版的书的封底都有一串号码,如 ISBN 978-7-121-41489-3,它叫做"国际标准书号"(International Standard Book Number,缩写为 ISBN),用来唯一代表一本书。

200711 日起,国际标准书号升级为 13 位,这 13 位数字可以分为 5 个区(为提高可读性,用连字符“-”将 5个区隔开),从左往右,5 个区的含义依次如下:

  • 1)EAN号码段,一共包含 3 位数字。
  • 2)国家、语言或区位代码,长度为 1-5 位,7 表示中国大陆。
  • 3)出版社代码,长度为 2-7 位,用以识别书籍的出版社。
  • 4)出版序号,由出版者自行编配,以识别书目或版本。
  • 5)校验码,一位数字,用以核对书号是否正确。

其中,书号校验码的计算步骤如下:

  • 1、前 12 个数字交替地乘以权数 13
  • 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

样例

输入

978-7-121-41489-3

输出

yes
标签
题目参数
时间限制 1 秒
内存限制 256 MB
提交次数 7
通过人数 3
金币数量 1 枚
难度 入门


上一题 下一题