【A005】NOIP2008 ISBN号码(一大桶水)【难度A】——————————————————————————————————————————————————————————————————————————

【题目要求】

每一本正式出版的图书都有一个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号码的格式要求)。

【输入示例】

【输入样例1】0-670-82162-4
【输入样例2】0-670-82162-0

【输出要求】

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

【输出示例】

【输出样例1】Right
【输出样例2】0-670-82162-4

【试题分析】

(水水水)不解释

【代码】

#include<iostream>
using namespace std;
int main()
{ char a[100]; int a1[100],s=0; for(int i=1;i<=13;i++) { cin>>a[i]; a1[i]=a[i]-48; } for(int i=1,g=1;i<=11;i++,g++) { if(a[i]=='-')i++; s+=a1[i]*g; } if(s%11==10&&a[13]=='X'||s%11==a1[13]) cout<<"Right"<<endl; else{ for(int i=1;i<=12;i++) { cout<<a[i]; } if(s%11==10) cout<<'X'; else cout<<s%11; //system("pause");return 0;}//system("pause");return 0;
}

版权所有,转发必须标明出处,否则必须找事。

转载于:https://www.cnblogs.com/lijiaxin-blog-cpp/p/5141392.html

NOIP2008 ISBN号码(一桶水)【A005】相关推荐

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

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

  2. 信息学奥赛一本通 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 号码 [题目考点] ...

  3. 13-luogu-P1055 [NOIP2008 普及组] ISBN 号码

    文章目录 [NOIP2008 普及组] ISBN 号码 问题 题目描述 输入格式 输出格式 样例 样例输入 样例输出 样例 样例输入 样例输出 #2 提示 小白代码 多次提交,解决 "X&q ...

  4. P1055 [NOIP2008 普及组] ISBN 号码

    P1055 [NOIP2008 普及组] ISBN 号码题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括999位数字.111位识别码和333位分隔符,其规定格式如x-xxx- ...

  5. AC日记——ISBN号码 openjudge 1.7 29

    29:ISBN号码 总时间限制:  1000ms 内存限制:  65536kB 描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如&q ...

  6. Vijos p1484 ISBN号码

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

  7. 【CSP201312-2】ISBN号码,字符串,简单模拟

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

  8. 1000桶水,其中一桶有毒,猪喝毒水后会在15分钟内死去,想用一个小时找到这桶毒水,至少需要几头猪?具体该如何实现方法讲解

    对于此问题,一个思路是通过对问题分解: 首先一个猪在一个小时内的状态可以分为5种: 一.0分钟喝水,15分钟死去 二.15分钟活着再喝水,30分钟死去 三.30分钟活着再喝水,45分钟死去 四.45分 ...

  9. 201312-2 ISBN号码

    文章目录 C++ 总结 本题链接:ISBN号码 本博客给出本题截图: C++ #include <iostream> #include <string>using namesp ...

最新文章

  1. KALI Linux 系统安装 翻译
  2. 中国首个AI考级来了:共分10级,北大出题,工信部认证 | 在线可测,我最多活3级...
  3. C语言通过用户输入将八进制转为二进制(附完整源码)
  4. c和python的区别动图_C语言与Python 对程序员的差别到底在哪?
  5. UVa 489 Hangman Judge
  6. MFC动态调用DLL
  7. 【Java】Kryo运行报错:Exception in thread “main“ java.lang.IllegalArgumentException:Class is not registered
  8. 秉承初心,砥砺奋进!华为云助力锦江都城开启云服务时代
  9. harbor 多端口_总结—Harbor仓库部署和使用问题集锦
  10. 幻速s3_藏在“L”背后的故事 体验北汽幻速-S3L
  11. 洛谷 【入门1】顺序结构 P5708 【深基2.习2】三角形面积
  12. 人工智能知识全面讲解: 人脸识别技术
  13. 【webstorm】webstorm官网中文破解版
  14. vuerouter4报错:Discarded invalid param(s) “name“, “age“ when navigating.
  15. 《微型计算机原理与接口技术》复习笔记(二)
  16. Excel只对列上指定内容进行序号累加的操作
  17. Linux磁盘空间进行扩容--增大卷组空间
  18. python自动买股票_用python可以做哪些有趣的事--我:选股票
  19. App自动化02-元素定位、显示与隐式等待、常见控件交互方法
  20. windos 为什么会突然服务停止了_Win7系统print spooler服务总是自动停止怎么办?

热门文章

  1. MarkDown语法详解
  2. 计算机密码是空的怎么重置,电脑忘记开机登录密码怎么办? Windows 密码重置 - 合一学院...
  3. 洛谷入门篇的相关题解
  4. 综合布线 、 子网划分
  5. 安装完ps2019显示计算机丢失,安装ps2019时出现错误代码146
  6. 动态申请二维数组空间及释放
  7. pta 天梯赛的善良(C语言实现)
  8. 国内消防报警主机调试软件
  9. Unity | 碰撞检测相关
  10. 箱包卖家注意了!《淘宝网箱包行业标准》出炉 !