ISBN号码(NOIP2008 普及组第一题)

news/2024/10/17 5:36:32/

ISBN号码

说明

每一本正式出版的图书都有一个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号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。

样例

输入数据 1

0-670-82162-4
Copy

输出数据 1

Right
Copy
#include<bits/stdc++.h>
using namespace std;
int q,w,e,r,t,y,u,o,p,s,d,f,g,h,j,l,z,x,c,v,n,m,i,k,a[100],b;
string ss; 
int main()
{cin>>ss;k=1;for(i=0;i<=11;i++){if(ss[i]!='-'){a[k]=ss[i]-'0';k++;}}	for(i=1;i<=9;i++)s+=i*a[i];s%=11;if(s==ss[12]-'0'||s==10&&ss[12]=='X')cout<<"Right";else {for(i=0;i<=11;i++){cout<<ss[i];}if(s!=10)cout<<s;else cout<<"X";}return 0;
}

http://www.ppmy.cn/news/1043673.html

相关文章

跟着美团学设计模式(感处)

读了着篇文章之后发现真的是&#xff0c;你的思想&#xff0c;你的思维是真的比比你拥有什么技术要强的。 注 开闭原则 开闭原则&#xff08;Open-Closed Principle&#xff09;是面向对象设计中的基本原则之一&#xff0c;它的定义是&#xff1a;一个软件实体应该对扩展开放…

noip2017普及组初赛 快速幂 求x^p%m的值。

说明 求xp mod m x^p \bmod m xpmodm 的值。 输入格式 三个不超过 10000 的正整数 x&#xff0c;p&#xff0c;m。 输出格式 1个整数。 样例 输入数据 1 2 10 100 Copy 输出数据 1 24 Copy 提示 noip2017普及组初赛 #include<bits/stdc.h> using namespace std; long l…

Linux 黑话解析:什么是 LUKS 加密?

导读LUKS 是 Linux 用户中流行的磁盘加密机制。在这篇术语解析文章中&#xff0c;可以了解更多关于 LUKS 的信息。 计算机安全旨在保护私密信息。有许多方法可以保护系统。一些用户使用简单的用户名/密码登录方案进行基本保护。其他用户可能会通过加密以不同的方式增加额外的保…

工具推荐:Chat2DB一款开源免费的多数据库客户端工具

文章首发地址 Chat2DB是一款开源免费的多数据库客户端工具&#xff0c;适用于Windows和Mac操作系统&#xff0c;可在本地安装使用&#xff0c;也可以部署到服务器端并通过Web页面进行访问。 相较于传统的数据库客户端软件如Navicat、DBeaver&#xff0c;Chat2DB具备了与AIGC…

Rust语法:所有权引用生命周期

文章目录 所有权垃圾回收管理内存手动管理内存Rust的所有权所有权转移函数所有权传递 引用与借用可变与不可变引用 生命周期悬垂引用函数生命周期声明结构体的生命周期声明Rust生命周期的自行推断生命周期约束静态生命周期 所有权 垃圾回收管理内存 Python&#xff0c;Java这…

3.物联网LWIP之socket编程

一。Socket编程的基本概念 在我看来Socket就相当于API&#xff0c;就是函数接口&#xff0c;我们使用Socket就可以在不清楚底层原理的基础上进行通信&#xff0c;即Socket会帮助我们处理好网络的Ip地址等。下图就清晰的展示了Socket的位置&#xff0c;作为用户层与其他层的交互…

【ts】ts项目引入文件报红,进行全局类型声明的方法

vue3项目中使用ts&#xff0c;如果要引入的文件没有相应的类型声明文件&#xff0c;那么你需要为每个文件创建对应的类型声明文件 例如&#xff1a;我要引入index.vue文件。 那么就需要在src目录下创建index.vue.d.ts 的文件&#xff0c;要确保文件名与需要创建类型声明的模块…

计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集

计算机的语言&#xff1a;汇编指令集 也就是指令集。本书主要介绍 MIPS 指令集。 汇编指令 算数运算&#xff1a; add a,b,c # abc sub a,b,c # ab-cMIPS 汇编的注释是 # 号。 由于MIPS中寄存器大小32位&#xff0c;是基本访问单位&#xff0c;因此也被称为一个字 word。M…