【C++】ISBN号码
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号码相关推荐
- 洛谷 P1055 ISBN号码【字符串+模拟】
P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...
- Java 洛谷 P1055 ISBN号码
题目链接:https://www.luogu.com.cn/problem/P1055 输入格式 一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求). 输出格式 一行,假如输 ...
- CCF真题 201312-2 ISBN号码
目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...
- Vijos p1484 ISBN号码
描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...
- ISBN号码【模拟】
ISBN号码ISBN号码ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x&q ...
- 【p081】ISBN号码
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定 ...
- 信息学奥赛一本通 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 号码 [题目考点] ...
- ISBN号码(洛谷-P1055)
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...
- CCF201312-2 ISBN号码
问题描述: 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码 ...
最新文章
- ActiveMQ—Queue与Topic区别
- MySQL 的“root”用户修改密码
- R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot)、均值计算并连接成线图(line plot)
- 谈谈机器学习模型的可解释性
- 基于Centos7构建Kubernetes平台
- Asp.net(C#)面试100+题陆续添加中……
- 关于NHibernate中关系表的操作
- 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架
- CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数
- express 项目生成器_用于项目的Express模板生成器(2)| 应用程序结构研究
- 面向对象(final/抽象类/接口/内部类)
- 小熊派开发实践丨漫谈LiteOS之传感器移植
- Python 爬虫的工具列表
- obs之libx264编码
- C#制作多媒体播放器
- IoTDB MPP框架源码解读之SQL的一生(襁褓)
- Android对话框处理
- Java中的回溯算法
- 关闭Win 11自动更新工具
- Fabric chaincode shim.ChaincodeStubInterface
热门文章
- 八岐大蛇蛇的伤害算谁的伤害_避免诱惑损害网站性能
- Laravel 5 基础教程 || 3.控制器:任务的分发者 - 表严肃
- 大学生程序员IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之 - 【IT术语】情书+【搞笑另类】情书
- MySQL源码分析——代码结构与基本流程
- 关于Android读取SD卡存储的动态申请
- android 读取rtf里的内容,iOS读取rtf/txt文件
- Apollo github - 百度阿波罗
- Negative/Positive
- spring 事物监听机制,同步异步处理
- myflag step9:新增falg的支持