NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
每一本正式出版的图书都有一个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】 0-670-82162-4 【输入样例2】 0-670-82162-0
【输出样例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.相关推荐
- 信息学奥赛一本通 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 号码 [题目考点] ...
- NOIP2012普及组 (四年后的)解题报告 -SilverN
本章施工仍未完成 现在的时间是3.17 0:28,我困得要死 本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤. 尝试了用floyd写T4,终于大功告 ...
- 13-luogu-P1055 [NOIP2008 普及组] ISBN 号码
文章目录 [NOIP2008 普及组] ISBN 号码 问题 题目描述 输入格式 输出格式 样例 样例输入 样例输出 样例 样例输入 样例输出 #2 提示 小白代码 多次提交,解决 "X&q ...
- P1055 [NOIP2008 普及组] ISBN 号码
P1055 [NOIP2008 普及组] ISBN 号码题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括999位数字.111位识别码和333位分隔符,其规定格式如x-xxx- ...
- NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子,每 ...
- P1055 [NOIP2008 普及组] ISBN 号码 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx
文章目录 P1055 [NOIP2008 普及组] 题解 Java 代码 关键分析 P1055 [NOIP2008 普及组] 题解 题目链接 Java 代码 package luoguTest;imp ...
- noip2008普及组4题题解-rLq
(啊啊啊终于补到了今天的作业了) 本题地址: http://www.luogu.org/problem/show?pid=1058 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有 ...
- 传球游戏【NOIP2008普及组】
题目:传球游戏[NOIP2008普及组] 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里 ...
- P1058 [NOIP2008 普及组] 立体图
题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m \times nm×n的矩形区域,上面有m \ ...
最新文章
- ESXi6.5环境搭建(一:VMware Workstations 12 Pro 环境的安装及配置)
- PriorBox 改进
- 时序数据库深入浅出之存储篇——本质LSMtree,同时 metric(比如温度)+tags 分片...
- 如何在私有链部署智能合约
- Delphi-IOCP学习笔记三====工作线程和Listener
- node.js通过edge访问.net动态链接库
- 【git】搭建git服务器
- SQLServer导数据到Oracle
- 概率算法(算法分析与设计)
- PTCMS4.2.8小说网站源码模板
- 个人朋友圈时代过去了,企业微信朋友圈开辟营销新思路
- Android底层隐私数据,一种Android应用程序隐私数据泄露离线检测方法
- RF(robotframework)安装后RIDE双击打不开的问题
- pytorch中的pad_sequence、pack_padded_sequence和pad_packed_sequence函数
- 自动写字成图5款有趣实用的AIGC工具分享
- H5调起摄像头拍照上传
- Wordpress替换Gravatar用户头像,让wordpress会员头像本地化提高加载速度(附代码)
- rand和srand的用法(转载)
- 红帽子linux网络播放器,redhat默认播放器(totem)解码包安装
- 解决Win10系统由于INF文件失效导致安卓MTP驱动安装失败的问题