P1055

题目描述

  每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码。

  例如  0-670-82162-4 就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如00代表英语;

  第一个分隔符-之后的三位数字代表出版社,例如670670代表维京出版社;

  第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

  识别码的计算方法如下:

  首位数字乘以11加上次位数字乘以22……以此类推,用所得的结果 mod11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。

  例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这99个数字,从左至右,分别乘以1,2,...,91,2,...,9再求和,

  即0×1+6×2+……+2×9=1580×1+6×2+……+2×9=158,然后取158mod11的结果4作为识别码。

  你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出Right;如果错误,则输出你认为是正确的ISBN号码。

输入输出格式

  输入格式:

  一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

  

  输出格式:

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

输入输出样例

  输入:

0-670-82162-4

  输出:

Right

  输入:

0-670-82162-0

  输出:

0-670-82162-4

代码如下:

 #include <bits/stdc++.h>
using namespace std;
int main(){
char s[],c;
cin>>s;
int j=,k=;
for(int i=;i<;i++){
if(s[i]!='-')
j+=(s[i]-'')*(++k);//-0是为了将字符串变成普通数字
}
if(j%==)c='X';
else c=j%+'';
if(c==s[])
cout<<"Right"<<endl;
else{
s[]=c;
cout<<s;
}
return ;
}

P1055 书号的更多相关文章

  1. 洛谷 P1055 ISBN号码【字符串+模拟】

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

  2. 【洛谷新手村】简单字符串 p1055 ISBN号码

    p1055 ISBN号码[传送门] 算法标签什么的: 思路:直接以字符串的形式读入这一串数字,然后for循环对字符串进行处理,字符串中的数字存进数组中(如果是X,存为10):然后再根据要求判断是否是正 ...

  3. P1055 集体照

    P1055 集体照 转跳点:

  4. Java实现第九届蓝桥杯书号验证

    书号验证 2004年起,国际ISBN中心出版了<13位国际标准书号指南>. 原有10位书号前加978作为商品分类标识:校验规则也改变. 校验位的加权算法与10位ISBN的算法不同,具体算法 ...

  5. vijos P1055奶牛浴场&& Winter Camp2002

    这道题是我在寒假的模拟赛里碰到的,现在想起来仍觉得余味无穷.题目大意大致如下:给你一个矩形并在其中划出一个最大的子矩形,当然,在这个矩形里有些地方是取不到的,也就是说我们划的这个子矩形不能包含这些点( ...

  6. [TYVJ] P1055 沙子合并

    沙子合并 描述 Description     设有N堆沙子排成一排,其编号为1,2,3,…,N(N<=300).每堆沙子有一定的数量,可以用一个整数来描述,现在要将这N堆沙子合并成为一堆,每次 ...

  7. 字符、散列、模拟--P1055 ISBN号码

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别 ...

  8. 洛谷P1055 ISBN号码【字符数组处理】

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括 99 位数字. 11 位识别码和 33 位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号 ...

  9. 洛谷P1055 ISBN号码

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括 999 位数字. 111 位识别码和 333 位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上 ...

随机推荐

  1. 前后端分离的利器:fiddler的实用功能举例

    # 前后端分离的利器:fiddler的实用功能举例 ##what's fiddler fiddler是一款代理软件,对于前后端分离开发非常重要.可以说,如果前端开发没有用上fiddler或类似软件,那 ...

  2. eletron打包

    https://www.cnblogs.com/BigJ/p/electron.html https://www.cnblogs.com/kakayang/p/9559777.html

  3. 跨界 - Omi 发布多端统一框架 Omip 打通小程序与 Web

    Omip 今天,Omi 不仅仅可以开发桌面 Web.移动 H5,还可以直接开发小程序!直接开发小程序!直接开发小程序! Github Omi 简介 Omi 框架是微信支付线研发部研发的下一代前端框架, ...

  4. .net core2 笔记

    资源: https://github.com/aspnet/home https://github.com/dotnet/cli https://www.cnblogs.com/billyang/p/ ...

  5. 七、xadmin 编辑界面实现二级联动

    很多时候,我们会遇到这种需求,通过一个select框中选择的值,去动态的加载另一个下拉框中的内容 对于前端的同学来讲,这个本应该是一个很简单的需求,获取第一个下拉框的值然后通过ajax去动态加载即可. ...

  6. Elasticsearch IK+pinyin

    如何在Elasticsearch中安装中文分词器(IK+pinyin)   如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字 ...

  7. apach ab 安装时的错误

    1.cmd进入bin下:执行httpd -k install 需要管理员 登陆安装 我们打开conf文件夹,找到httpd.conf,修改如下内容,让serverroot指向你的安装位置: Defin ...

  8. Spring中RedirectAttributes的用法

    RedirectAttributes 是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类.他有两种带参的方式: 第一种: redirectAttribut ...

  9. Windows 禁止 chrome 自动更新的方法

    来源: https://www.cnblogs.com/zhouwanqiu/p/9329134.html 公司进行兼容性测试 需要chrome的浏览器版本, 但是 公司网络抽风 偶尔 总能是升级到最 ...

  10. [转帖]分布式Unique ID的生成方法一览

    分布式Unique ID的生成方法一览 http://www.importnew.com/22211.html 分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结 ...