ISBN号码(c++)
题目描述:
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×1+6×2+„„+2×9=158,然后取158 mod 11的结果4作为识别码。
你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。
输入格式:
只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。
输出格式:
共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。
样例输入:
样例 #1: 0-670-82162-4样例 #2: 0-670-82162-0
样例输出:
样例 #1: Right样例 #2: 0-670-82162-4
时间限制: 1000ms
空间限制: 128MB
来源: NOIP2008普及t1
#include <bits/stdc++.h>
using namespace std;
const int N = 15;
char s[N];
int main(){scanf("%s", s);long long val = 0;int id = 1;for (int i = 0; i <= 11; i ++){if (i == 1 || i == 5 || i == 11) continue;if (s[i] == 'X') s[i] = 10;val += (long long)(s[i] - '0')* id;id ++;}val %= 11;//if (s[12] == 'X') s[12] = 10;if (val == (s[12] - '0') || (val == 10 && s[12] == 'X')) cout << "Right" << endl;else {if (val != 10) s[12] = (val + '0');else s[12] = 'X';for (int i = 0; i <= 12; i ++) printf("%c", s[i]);cout << endl;}return 0;
}
以上为wzoi.cc网站AC代码,路赞谢谢集美们♡
ISBN号码(c++)相关推荐
- 洛谷 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码 ...
最新文章
- EXCEL基础篇(二)
- AI时代,产品经理需要掌握的5项新技能
- Unity3d5.0 新UI之2048
- 配置vsftpd的遇到的坑及搭建虚拟账户
- Spring IOC-BeanFactory的继承体系结构
- VB键码常数(速查)
- Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构与工作流程
- 无人机计算机模拟飞行,学习无人机,怎么安装无人机模拟器?
- linux磁盘镜像技术,Linux 下使用 dd 和 gzip 命令来代替 Ghost 做磁盘镜像
- android wifi 获取 getBssiD
- Excel中如何批量合并相同内容单元格
- 计算机c盘空间满了应该怎么办,C盘空间越来越小怎么办?电脑C盘满了怎么办?...
- 【计算机网络】-TCP的拥塞控制及拥塞控制方法
- 小程序动态图片加载失败替换本地图片
- 【每天学点管理】—绩效面谈的两个技巧
- 小记:找不到或无法加载主类
- 【漏洞复现】phpStudy 小皮 Windows面板 RCE漏洞
- -gt;在Python函数定义中是什么意思?
- linux系统修复引导方案
- 网站运营方案SEO【运营】
热门文章
- 小样儿想封我?WebOS 1.2.1再次突破iTunes同步限制
- 电磁寻迹智能车HAL库基于cubeMX—三轮(分段PID+归一化+差速+均值滤波+多路ADC+三叉+环岛+十字)
- openBravo数据库结构分析
- 5G NR SSB 学习
- 2021年3月30日百度笔试题
- 计算机网络第七版--概述知识点总结
- 关于composer安装插件时候提示找不到fxp插件时候的解决办法
- 名表依波路borel_依波路手表排名 依波路手表世界排名第几
- 解决Redis持久化数据丢失
- Linux驱动BSP(I2C 驱动实验)