| 题目名称 | 1009. [NOIP 2008]ISBN号码 |
|---|---|
| 输入输出 | isbn.in/out |
| 难度等级 | ★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 50 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:412, 提交:1015, 通过率:40.59% | ||||
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
| 本题关联比赛 | |||
| exam | |||
| water | |||
| 关于 ISBN号码 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
回复 @cb : 。。。。。。。。。。。。。
2020-10-12 19:54
17楼
| ||||
|
ISBN 号码 耶!!!!!这道题,就是这道题!!!!!
![]()
2020-08-27 17:11
16楼
| ||||
|
shui
2018-10-12 12:39
15楼
| ||||
|
这题有坑啊,你还得判断mod后的数是否为10,若为10最后一位是‘X’
2017-10-25 11:22
14楼
| ||||
|
这题很骚气啊
2017-10-25 08:31
13楼
| ||||
|
x...审题很重要
2017-07-08 09:35
12楼
| ||||
|
我拉低了ac率……
2016-10-27 07:49
11楼
| ||||
|
做道水题我容易么
![]()
2016-07-17 16:41
10楼
| ||||
|
字符数组转数字要-‘0’,还有个X代表10,属实简单
2015-11-07 11:00
9楼
| ||||
|
感觉自己写的好笨重啊。。。
| ||||
每一本正式出版的图书都有一个 $ ISBN $ 号码与之对应, $ ISBN $ 码包括 $ 9 $ 位数字、 $ 1 $ 位识别码和 $ 3 $ 位分隔符,其规定格式如“$X-XXX-XXXXX-X$”,其中符号“$-$”是分隔符(键盘上的减号),最后一位是识别码,例如 $0-670-82162-4$ 就是一个标准的 $ ISBN $ 码。
$ ISBN $ 码的首位数字表示书籍的出版语言,例如 $0$ 代表英语;第一个分隔符“$-$”之后的三位数字代表出版社,例如 $670$ 代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
识别码的计算方法如下:
首位数字乘以 $ 1 $ 加上次位数字乘以 $ 2 $ ……以此类推,用所得的结果对 $ 11 $ 取余所得的余数即为识别码,如果余数为 $ 10 $ ,则识别码为大写字母X。
例如: $ ISBN $ 号码 $0-670-82162-4$ 中的识别码 $ 4 $ 是这样得到的:对 $ 067082162 $ 这 $ 9 $ 个数字,从左至右,分别乘以 $ 1,2,\cdots,9 $ 再求和,即 $ 0×1+6×2+\cdots+2×9=158 $ ,然后取 $ 158 \mod 11=4 $ 作为识别码。
你的任务是编写程序判断输入的 $ ISBN $ 号码中识别码是否正确,如果正确,则仅输出 “Right”;如果错误,则输出你认为是正确的 $ ISBN $ 号码。
输入只有一行,是一个字符序列,表示一本书的 $ ISBN $ 号码(保证输入符合 $ ISBN $ 号码的格式要求)。
输出共一行,假如输入的 $ ISBN $ 号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的 $ ISBN $ 号码(包括分隔符“$-$”)。
0-670-82162-4
Right
0-670-82162-0
0-670-82162-4
NOIP2008-Junior