蓝桥杯--ISBN号码

2023-10-19 06:50
文章标签 蓝桥 号码 isbn

本文主要是介绍蓝桥杯--ISBN号码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ISBN号码

技巧
数字转为字符【数字+‘0’】
字符转为数字【字符-‘0’】

这道题比较简单

题目大意

每一本正式出版的图书都有一个 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 号码(包括分隔符“-”)。

样例输入

0-670-82162-4

样例输出

Right

样例输入

0-670-82162-0

样例输出

0-670-82162-4 
#include<bits/stdc++.h>
using namespace std;int main(){char a[10];scanf("%c-%c%c%c-%c%c%c%c%c-%c",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);int res=0;for(int i=0;i<9;++i){res+=(a[i]-'0')*(i+1);
}
res%=11;
if(res==10&&a[9]=='X' || a[9]-'0'==res)puts("Right");
else{if(res==10)a[9]='X';elsea[9]=res+'0';printf("%c-%c%c%c-%c%c%c%c%c-%c\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);}return 0;}

在蓝桥杯比赛中,重中之重是return 0;
算法可以没有输入,但是不可以没有输出哦
return 值 便是其main函数的输出,是必须有的哦

原创不易,希望大家点赞支持呀!!!
在这里插入图片描述

这篇关于蓝桥杯--ISBN号码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238087

相关文章

洛谷 P10584 [蓝桥杯 2024 国 A] 数学题(整除分块+杜教筛)

题目 思路来源 登录 - Luogu Spilopelia 题解 参考了两篇洛谷题解,第一篇能得出这个式子,第二篇有比较严格的复杂度分析 结合去年蓝桥杯洛谷P9238,基本就能得出这题的正确做法 代码 #include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<map>#include<uno

SQlyog连接到主机时报错:错误号码2058Plugin sha256 password could not be loaded

1.问题重述 MySQL版本:8.4.0 SQlyog连接到主机时报错:错误号码2058Plugin sha256 password could not be loaded,如下图 经过查阅资料得知出现这个问题是因为 mysl8之前的加密规则是 mysql_native_password ,而在mysql8之后,加密规则是caching_sha2_password 2.解决方案: (

临时号码,接收短信验证码

数据信息安全于我们每个人都有着重要的意义,还记得你常收到的陌生推销或骚扰电话吗? 出于论坛资源下载、数据服务试用等现实临时需要,我们有时候不得不注册使用一些可能并不会经常使用的网站或平台服务,手机号码也不可避免的被要求绑定注册,久而久之我们的个人信息被拿捏存储在别人的数据库中,而对于这些被交付的私人数据我们个人目前多半无能为力, 现代社会中大多数人容易忘记密码,因此,为了方便,各大网站或者APP就

2013年蓝桥杯试题解析(一)

1.猜年龄       美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。   一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:  “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”  请你推算一下,他当时到底有多年轻。

计算最大数位-第13届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第87讲。 计算最大数位,本题是2022年4月23日举办的第13届蓝桥杯青少组Python编程省赛真题编程部分第2题,13届一共举办了两次省赛,这是第二次省赛。题目要求对于给定的正整数N,请编程计

蓝桥杯 经典算法题 找到给定字符串中的不同字符

题目: 在不考虑字符排列的条件下,对于相差只有一个字符的两个字符串,实现一个算法来识别相差的那个字符。要求如下: 当传入的字符串为 aad 和 ad 时,结果为 a。 当传入的字符串为 aaabccdd 和 abdcacade 时,结果为 e。 题解: 因为一定有一个字符不相同,将字符串内部排序然后依次比较,输出新增串中与原串不一样的那一位即可。这里遍历原串和新增串比较,不同输出新增

蓝桥杯经典算法题 确定字符串是否是另一个的排序

题目: 实现一个算法来识别一个字符串 str2 是否是另一个字符串 str1 的排列。排列的解释如下:如果将 str1 的字符拆分开,重新排列后再拼接起来,能够得到 str2 ,那么就说字符串 str2 是字符串 str1 的排列。(不忽略大小写) 如果 str2 字符串是 str1 字符串的排列,则输出 YES;如果 str2 字符串不是 str1 字符串的排列,则输出 NO; 题解:

蓝桥杯 经典算法题 压缩字符串

题目: 实现一个算法来压缩一个字符串。压缩的要求如下: 需要判断压缩能不能节省空间,仅在压缩后字符串比原字符串长度更短时进行压缩。 压缩的格式是将连续相同字符替换为字符 + 数字形式,例如 "AAABCCDDDD" 变为 "A3BC2D4"。 题解: 需要将字符串中相同字符叠在一起的部分压缩,也就是数出每一堆连在一起的相同字符的数量。 #include <iostream>usi

蓝桥杯基础训练完美的代价

思想: 运用了贪心的思想 从字符串的左面和右面开始匹配 保证了第一次到的相同字符距离左面的最近,然后将字符串的左面和右面字符去掉 匹配剩余的 一直进行下去 就会产生最终结果! 代码 #include<cstdio>const int maxn = 8001; char str[maxn];int parse(int len)//{int py;int ans1 = 0;int an

【无标题】蓝桥杯软件赛Java研究生组/A组)第二章基础算法-第四节:构造

构造类这种题目,比较开放、而且往往需要一些其他知识,往往就是读的时候感觉很麻烦抽象,但是看到答案后,又感觉非常简单这种题目没有必要死磕,有时间看看就行,总结总结 文章目录 一:什么是构造(1)概述(2)常见的构造题目类型 二:典型题目(1)题目一(2)题目二(3)题目三(4)题目四(5)题目五 一:什么是构造 (1)概述 构造:构造题在比赛和解决问题的过程中确实是常见的一类