题目描述:

每一本正式出版的图书都有一个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++)相关推荐

  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. EXCEL基础篇(二)
  2. AI时代,产品经理需要掌握的5项新技能
  3. Unity3d5.0 新UI之2048
  4. 配置vsftpd的遇到的坑及搭建虚拟账户
  5. Spring IOC-BeanFactory的继承体系结构
  6. VB键码常数(速查)
  7. Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构与工作流程
  8. 无人机计算机模拟飞行,学习无人机,怎么安装无人机模拟器?
  9. linux磁盘镜像技术,Linux 下使用 dd 和 gzip 命令来代替 Ghost 做磁盘镜像
  10. android wifi 获取 getBssiD
  11. Excel中如何批量合并相同内容单元格
  12. 计算机c盘空间满了应该怎么办,C盘空间越来越小怎么办?电脑C盘满了怎么办?...
  13. 【计算机网络】-TCP的拥塞控制及拥塞控制方法
  14. 小程序动态图片加载失败替换本地图片
  15. 【每天学点管理】—绩效面谈的两个技巧
  16. 小记:找不到或无法加载主类
  17. 【漏洞复现】phpStudy 小皮 Windows面板 RCE漏洞
  18. -gt;在Python函数定义中是什么意思?
  19. linux系统修复引导方案
  20. 网站运营方案SEO【运营】

热门文章

  1. 小样儿想封我?WebOS 1.2.1再次突破iTunes同步限制
  2. 电磁寻迹智能车HAL库基于cubeMX—三轮(分段PID+归一化+差速+均值滤波+多路ADC+三叉+环岛+十字)
  3. openBravo数据库结构分析
  4. 5G NR SSB 学习
  5. 2021年3月30日百度笔试题
  6. 计算机网络第七版--概述知识点总结
  7. 关于composer安装插件时候提示找不到fxp插件时候的解决办法
  8. 名表依波路borel_依波路手表排名 依波路手表世界排名第几
  9. 解决Redis持久化数据丢失
  10. Linux驱动BSP(I2C 驱动实验)