ISBN号码

题目描述

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符-之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码44是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,…,9再求和,即0×1+6×2+……+2×9=158,然后取158mod11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出Right;如果错误,则输出你认为是正确的ISBN号码。

输入格式

一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出格式

一行,假如输入的ISBN号码的识别码正确,那么输出Right,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符-)。

输入输出样例

输入 #1

0-670-82162-4

输出 #1

Right

输入 #2

0-670-82162-0

输出 #2

0-670-82162-4

#include<bits/stdc++.h>
using namespace std;
long long i,s,a,b,c,d,m;
char d1;
int main(){scanf ( "%d-%d-%d-%c" , &a , &b , &c , &d1 );  //这段是精髓if ( d1 == 'X' )  //判断X与10d = 10;else d = d1 - 48;m = ( a * 1000 + b ) * 100000 + c;//过滤中划线for ( i = 1 ; i <= 9 ; i++ )  //依次算{s += m % 10 * ( 9 - i + 1 );//精髓+1s %= 11;  //直接求11的余数即可m /= 10;  //删除最后一位}if ( s == d )  //判断是否正确cout << "Right";  //正确就输出else  //不正确的处理方法{cout << a << "-" << b << "-" << c << "-";if ( s == 10 )  //同样,注意X和10cout << "X";else cout << s;}return 0;
}

【C++】ISBN号码相关推荐

  1. 洛谷 P1055 ISBN号码【字符串+模拟】

    P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...

  2. Java 洛谷 P1055 ISBN号码

    题目链接:https://www.luogu.com.cn/problem/P1055 输入格式 一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求). 输出格式 一行,假如输 ...

  3. CCF真题 201312-2 ISBN号码

    目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...

  4. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  5. Vijos p1484 ISBN号码

    描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...

  6. ISBN号码【模拟】

    ISBN号码ISBN号码ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x&q ...

  7. 【p081】ISBN号码

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定 ...

  8. 信息学奥赛一本通 1942:【08NOIP普及组】ISBN号码 | OpenJudge NOI 1.7 29:ISBN号码 | 洛谷 P1055 [NOIP2008 普及组] ISBN 号码

    [题目链接] ybt 1942:[08NOIP普及组]ISBN号码 OpenJudge NOI 1.7 29:ISBN号码 洛谷 P1055 [NOIP2008 普及组] ISBN 号码 [题目考点] ...

  9. ISBN号码(洛谷-P1055)

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  10. CCF201312-2 ISBN号码

    问题描述: 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码 ...

最新文章

  1. ActiveMQ—Queue与Topic区别
  2. MySQL 的“root”用户修改密码
  3. R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot)、均值计算并连接成线图(line plot)
  4. 谈谈机器学习模型的可解释性
  5. 基于Centos7构建Kubernetes平台
  6. Asp.net(C#)面试100+题陆续添加中……
  7. 关于NHibernate中关系表的操作
  8. 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架
  9. CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数
  10. express 项目生成器_用于项目的Express模板生成器(2)| 应用程序结构研究
  11. 面向对象(final/抽象类/接口/内部类)
  12. 小熊派开发实践丨漫谈LiteOS之传感器移植
  13. Python 爬虫的工具列表
  14. obs之libx264编码
  15. C#制作多媒体播放器
  16. IoTDB MPP框架源码解读之SQL的一生(襁褓)
  17. Android对话框处理
  18. Java中的回溯算法
  19. 关闭Win 11自动更新工具
  20. Fabric chaincode shim.ChaincodeStubInterface

热门文章

  1. 八岐大蛇蛇的伤害算谁的伤害_避免诱惑损害网站性能
  2. Laravel 5 基础教程 || 3.控制器:任务的分发者 - 表严肃
  3. 大学生程序员IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之 - 【IT术语】情书+【搞笑另类】情书
  4. MySQL源码分析——代码结构与基本流程
  5. 关于Android读取SD卡存储的动态申请
  6. android 读取rtf里的内容,iOS读取rtf/txt文件
  7. Apollo github - 百度阿波罗
  8. Negative/Positive
  9. spring 事物监听机制,同步异步处理
  10. myflag step9:新增falg的支持