AC日记——ISBN号码 openjudge 1.7 29
29:ISBN号码
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
每一本正式出版的图书都有一个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
- 来源
- NOIP2008复赛 普及组 第一题
- 思路:
- 水题大模拟;
- 来,上代码:
#include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm>using namespace std;int num[11],now=0,len,cur_1=0;char word[300];int main() {gets(word);len=strlen(word);for(int i=0;i<len;i++){if(now==9) break;if(word[i]>='0'&&word[i]<='9'){num[++now]=word[i]-'0';word[i]-='0';}}for(int i=1;i<=9;i++){num[i]=num[i]*i+num[i-1];}if(word[12]=='X') cur_1=10;else cur_1=word[12]-'0';if(num[9]%11==cur_1) printf("Right\n");else{int cur_2=0;for(int i=0;i<len;i++){if(cur_2==9) break;if(word[i]>=0&&word[i]<=9){word[i]+='0';cur_2++;}putchar(word[i]);}putchar('-');if(num[9]%11==10) printf("X\n");else printf("%d\n",num[9]%11);}return 0; }
转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6106080.html
AC日记——ISBN号码 openjudge 1.7 29相关推荐
- 信息学奥赛一本通 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 号码 [题目考点] ...
- AC日记——行程长度编码 openjudge 1.7 32
32:行程长度编码 总时间限制: 1000ms 内存限制: 65536kB 描述 在数据压缩中,一个常用的途径是行程长度压缩.对于一个待压缩的字符串而言,我们可以依次记录每个字符及重复的次数.这种 ...
- AC日记——字符替换 openjudge 1.7 08
08:字符替换 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串. 输入 只有一行,由一个字符串和两个字符组成,中间用 ...
- AC日记——简单密码 openjudge 1.7 10
10:简单密码 总时间限制: 1000ms 内存限制: 65536kB 描述 Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这 ...
- AC日记——阶乘和 openjudge 1.6 15
15:阶乘和 总时间限制: 1000ms 内存限制: 65536kB 描述 用高精度计算出S=1!+2!+3!+-+n!(n≤50) 其中"!"表示阶乘,例如:5!=5*4*3 ...
- AC日记——整理药名 openjudge 1.7 15
15:整理药名 总时间限制: 1000ms 内存限制: 65536kB 描述 医生在书写药品名的时候经常不注意大小写,格式比较混乱.现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即 ...
- AC日记——密码翻译 openjudge 1.7 09
09:密码翻译 总时间限制: 1000ms 内存限制: 65536kB 描述 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍 ...
- 洛谷 P1055 ISBN号码【字符串+模拟】
P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...
- 13-luogu-P1055 [NOIP2008 普及组] ISBN 号码
文章目录 [NOIP2008 普及组] ISBN 号码 问题 题目描述 输入格式 输出格式 样例 样例输入 样例输出 样例 样例输入 样例输出 #2 提示 小白代码 多次提交,解决 "X&q ...
最新文章
- Java程序员必备基础:Java代码是怎么运行的?
- 操作系统(十八)进程同步与进程互斥
- 百度地图的实现,IIS6.0,.net4.0 无法使用POST和GET
- 入行IT,为什么建议你学Java?
- When.js 1.8.0 发布,Promises/A 的实现
- 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字
- 现代软件工程 第六章 【敏捷流程】练习与讨论
- echart vue 图表大小_cesium+vue,性能优化
- ORACLE EXPLAIN PLAN的总结 (优化SQL语句)
- pycharm安装教程,超详细
- 腾讯云一站式物联PaaS平台IOT Suite助力行业加速“物联网+”
- python类方法在类外定义_第7.15节 Python中classmethod定义的类方法详解
- 使用js完成一个类似于小广告的功能,斜着运动,遇到边界弹回
- 告警关联中的频繁项集挖掘问题
- 成功解决hostname ‘xxx‘ doesn‘t uniquely match the interface ‘ens33‘ selected for the management bridge
- 2021全国电子设计大赛 D题 基于互联网的摄像测量系统 源码解析
- 第7章第30节:四图排版:四张图片交错对齐排列 [PowerPoint精美幻灯片实战教程]
- 嵌入式计算机是专用计算机吗,什么是嵌入式计算机?
- 不对工整型左右手节奏如何弹奏,如4对3,3对4。
- Mac休眠之后唤醒时无法使用鼠标
热门文章
- angular4动态添加html,angular4 动态创建组件
- python中索引和下标_Series下标索引、标签索引、切片索引、布尔索引
- mysql 备份数据库太大 怎么导入_mysql导入数据库的文件太大怎么办
- mysql三高讲解(一):1.1 客户端怎样连接mysql数据库
- matplotlib 直方图_掌握了Matplotlib这两个方法,轻松绘制出漂亮的直方图!
- infinitescroll php,WordPress: 增加无限分页(Infinite Scroll)功能
- mysql 无符号 负数_mysql – BETWEEN使用负值和无符号整数
- 成员变量隐藏c语言,C语言中隐藏结构体的细节
- php input 只接收文件内容,一文搞懂$_POST和file_get_contents(“php://input”)的区别
- java48关键_Java48个关键字速查表