题目描述

每一本正式出版的图书都有一个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.in只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出格式:

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

输入输出样例

输入样例#1:

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

输出样例#1:

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

说明

2008普及组第一题

------------------------------------我是分割线----------------------------------------------------------------

水题,纯模。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int x=1,sum=0;
 6 string a;
 7 int main()
 8 {
 9 getline(cin,a);
10 for(int i=0;i<=10;i++)
11 if(i!=1&&i!=5)
12   {
13       sum+=(a[i]-48)*x;
14      x++;
15   }
16     sum=sum%11;
17         if(sum==10)
18         {
19         if(a[12]==88)
20              cout<<"Right";
21         else
22         {
23         for(int j=0;j<=10;j++)
24         if(j==1||j==5)
25          cout<<"-";
26         else
27         cout<<a[j]-48;
28         cout<<"-X";
29 }
30 }
31 else
32 {
33 if(sum==a[12]-48) cout<<"Right";
34           else
35           {
36             for(int j=0;j<=10;j++)
37   if(j==1||j==5)
38   cout<<"-";
39   else
40    cout<<a[j]-48;
41              cout<<"-"<<sum;
42        }
43 }
44      return 0;
45 }

View Code

转载于:https://www.cnblogs.com/SBSOI/p/5575005.html

NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.相关推荐

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

  2. NOIP2012普及组 (四年后的)解题报告 -SilverN

    本章施工仍未完成 现在的时间是3.17 0:28,我困得要死 本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤. 尝试了用floyd写T4,终于大功告 ...

  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. NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)

    题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子,每 ...

  6. P1055 [NOIP2008 普及组] ISBN 号码 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx

    文章目录 P1055 [NOIP2008 普及组] 题解 Java 代码 关键分析 P1055 [NOIP2008 普及组] 题解 题目链接 Java 代码 package luoguTest;imp ...

  7. noip2008普及组4题题解-rLq

    (啊啊啊终于补到了今天的作业了) 本题地址: http://www.luogu.org/problem/show?pid=1058 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有 ...

  8. 传球游戏【NOIP2008普及组】

    题目:传球游戏[NOIP2008普及组] 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里 ...

  9. P1058 [NOIP2008 普及组] 立体图

    题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m \times nm×n的矩形区域,上面有m \ ...

最新文章

  1. ESXi6.5环境搭建(一:VMware Workstations 12 Pro 环境的安装及配置)
  2. PriorBox 改进
  3. 时序数据库深入浅出之存储篇——本质LSMtree,同时 metric(比如温度)+tags 分片...
  4. 如何在私有链部署智能合约
  5. Delphi-IOCP学习笔记三====工作线程和Listener
  6. node.js通过edge访问.net动态链接库
  7. 【git】搭建git服务器
  8. SQLServer导数据到Oracle
  9. 概率算法(算法分析与设计)
  10. PTCMS4.2.8小说网站源码模板
  11. 个人朋友圈时代过去了,企业微信朋友圈开辟营销新思路
  12. Android底层隐私数据,一种Android应用程序隐私数据泄露离线检测方法
  13. RF(robotframework)安装后RIDE双击打不开的问题
  14. pytorch中的pad_sequence、pack_padded_sequence和pad_packed_sequence函数
  15. 自动写字成图5款有趣实用的AIGC工具分享
  16. H5调起摄像头拍照上传
  17. Wordpress替换Gravatar用户头像,让wordpress会员头像本地化提高加载速度(附代码)
  18. rand和srand的用法(转载)
  19. 红帽子linux网络播放器,redhat默认播放器(totem)解码包安装
  20. 解决Win10系统由于INF文件失效导致安卓MTP驱动安装失败的问题

热门文章

  1. Netty 源码走读
  2. jquery动态加载JS【方法getScript】的改进
  3. 例5-17和例5-18
  4. Ext4核心组件Grid的变化及学习(3):可编辑的grid
  5. 服务器系统的王者——Linux 系统
  6. 打包工具的配置教程见的多了,但它们的运行原理你知道吗?
  7. PHP正则表达式怎么匹配多行
  8. Inno Setup入门(十八)——Inno Setup类参考(4)
  9. HDU 4281 Judges' response [MTSP]
  10. 在Linux机器上配置NUD