NOIP2008年普及组T1 ISBN号

【NOIP2008普及组复赛】 题1:ISBN号码 (isbn.pas/c/cpp)(isbn.pas/c/cpp)(isbn.pas/c/cpp)每一本正式出版的图书都有一个ISBNISBNISBN号码与之对应,ISBNISBNISBN码包括999位数字、111位识别码和333位分隔符,其规定格式如“x−xxx−xxxxx−x”“x-xxx-xxxxx-x”“x−xxx−xxxxx−x”,其中符号“−”“-”“−”是分隔符(键盘上的减号),最后一位是识别码,例如0−670−82162−40-670-82162-40−670−82162−4就是一个标准的IS 阅读详情

原文链接:这里

【题目描述】

每一本正式出版的图书都有一个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是这样得到的:对0670082162这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
【样例输出1】

Right
【样例输入2】

0-670-82162-0

【样例输出2】

0-670-82162-4

【参考代码1】

#include
#include
using namespace std;
char a[13];
int b[9];
long long c=0;
int main()
{
scanf("%s",&a);
b[0]=a[0]-‘0’;
b[1]=a[2]-‘0’;
b[2]=a[3]-‘0’;
b[3]=a[4]-‘0’;
b[4]=a[6]-‘0’;
b[5]=a[7]-‘0’;
b[6]=a[8]-‘0’;
b[7]=a[9]-‘0’;
b[8]=a[10]-‘0’;

for(int i=0;i<9;i++)
{
	b[i]*=i+1;
	c+=b[i];
}
c%=11; //没有考虑余数 是10 的情况 X

// cout<<c<<endl;
// cout<<a[12]<<endl;
// cout<<a[12]-‘0’<<endl;
//
//这里需要考虑到最后一位是X的情况

if(a[12]-'0'== c || (a[12]=='X'&& c==10))
	printf("Right");
else if (a[12] !='X'&& c==10)
{	
	//考虑c为10,但是a[12]不是x 

// printf("%s\n",a);
// cout<<c<<" “<<a[12]<<endl;
a[12]=‘X’;
printf(”%s",a);
}
else
{
a[12]=c+‘0’;
printf("%s",a);
}
return 0;
}

NOIP普及组|2008T1ISBN号码 2008年NOIP普及组第一题:ISBN号码 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 $9$ 位数字、$1$ 位识别码和 $3$ 位分隔符,其规定格式如 `x-xxx-xxxxx-x`,其中符号 `-` 就是分隔符(键盘上的减号),最后一位是识别码,例如 `0-670-82162-4`就是一个标准的 ISBN 码。ISBN 码的首位数字表示书籍的出版语言,例如 $0$ 代表英语;第一个分隔符 `-` 之后的三位数字代表出版社,例如 $670$ 代表维京出版社;第二个分隔符后的 阅读详情

相关推荐

CSP/信奥赛C++语法基础刷题训练(33):[NOIP2008 普及组] ISBN 号码

CSP/信奥赛C++语法基础刷题训练(33):[NOIP2008 普及组] ISBN 号码

王老师青少年编程 1375

CCF ISBN号码 字符串处理

13年12月CCF计算机软件能力认证 3193. ISBN号码 每一本正式出版的图书都有一个 ISBN 号码与之对应。 ISBN 码包括 9 位数字、1 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 是分隔符(键盘上的减号),最后一位是识别码,例如 0-670-82162-4 就是一个标准的ISBN码。 ISBN 码的首位数字表示书籍的出版语言,例如 0 代表英语;第一个分隔符 - 之后的三位数字代表出版社,例如 670 代表维京出版社;第二个分隔之后的五位数字代表该书在

Gestwr博客 370

【2008NOIP普及组】T1. ISBN号码 试题解析

【2008NOIP普及组】T1. ISBN号码试题解析

lybc2019的博客 464

CCF CSP 201312-2 ISBN号码

试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述:   每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标...

Yuhan的博客 629

NOIP2008复赛普及组试题及测试数据

NOIP2008复赛普及组试题及测试数据

写给小白的“具身智能”入门科普

智能”,大家都懂,也就是AI。那么,什么是“具身”?“具身”是一个很小众的名词,通常都出现在哲学、认知科学领域。它的英文叫Embodied,是embody的过去式和过去分词。em-表示“进入,使……”,-body表示“身体”。组合起来,就是“使……进入身体”。Embodied Intelligence(具身智能),顾名思义,就是“使智能进入身体”、“给智能一个身体”的意思。那么,具身智能,是不是就是“AI+身体”呢?这样说并不准确。

欢迎来到我的博客 1819

2008年NOIP普及组复赛真题解析

不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师在此吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。输入文件seat.in的第一行,有5个用空格隔开的整数,分别是M,N,K,L,D(2

weixin_42358969的博客 1028

iSLIP算法实战:如何用Python模拟交换机优先级匹配(附完整代码)

本文详细介绍了如何使用Python实现iSLIP算法,模拟交换机优先级匹配过程。通过核心的指针滑动逻辑和迭代循环策略,构建了一个完整的iSLIP算法模拟器,并加入可视化模块以直观展示匹配过程。文章还提供了完整的代码框架和性能优化建议,适合网络工程师和Python开发者直接集成到测试环境中。

weixin_29313239的博客 249

IMA+DeepSeekR1+本地知识库撰写NOIP2008普及组T1【ISBN 号码】题解

【摘要】由DeepSeek提供。本题要求验证ISBN识别码,重点在计算前9位加权和并进行11取模。处理时需跳过分隔符遍历数字,计算得出校验字符后与末位比对。若正确输出"Right",错误则替换并输出完整ISBN。DeepSeek的参考实现包含输入处理、循环计算及条件判断,确保代码正确映射校验位,时间复杂度O(1)。核心逻辑为sum%11校验值转换,实现简明高效的字符串处理。

ZLOJ 468

毕设-YOLOv8-OBB 实现自有数据集缺陷旋转检测全过程记录

这次项目让我深入理解了 YOLOv8-OBB 的原理和使用流程。步骤内容工具数据标注制作倾斜缺陷样本格式转换从 HBB 转换为 OBB模型训练使用 Ultralytics YOLOv8 OBBCLI 命令模型测试推理与结果可视化通过 OBB 模型,我的缺陷检测系统获得了更高的精度和鲁棒性。未来我打算继续优化数据增强方式,比如引入随机旋转、仿射变换等,让模型更适应不同角度的样本。

FJN110的博客 446

Python与CAD系列基础篇(二)创建点和直线并修改样式

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。创建和编辑点和直线的方法,并演示如何修改它们的样式、颜色和线型。

weixin_43894929的博客 3036

NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二

SBS的博客 1234

手把手教你学simulink(8.2)--simulink的实战案例:信号分析

通过以上步骤,你已经成功使用 Simulink 对信号进行了频谱分析和时域分析,提取了信号的有用信息。这个案例展示了如何创建 Simulink 模型、添加和连接模块、设置仿真参数、运行仿真以及分析结果。希望这个案例能帮助你更好地理解和使用 Simulink 进行信号分析。

MHD0815的博客 1123

NOIP2008普及组题解

NOIP2008普及组题解 从我在其他站的博客直接搬过来的 posted @ 2016-04-16 01:11 T1 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符, 其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就

SilverNebula的博客 1034

【Flink】FlinkCDC获取mysql数据时间类型差8小时时区解决方案

​ 1、背景: 在我们使用FlinkCDC采集mysql数据的时候,日期类型是我们很常见的类型,但是FlinkCDC读取出来会和数据库的日期时间不一致,情况如下 FlinkCDC获取的数据中create_time字段1694597238000转换为时间戳2023-09-13 17:27:18,而数据库中原始数据如下,并没有到下午5点,这就导致了FlinkCDC读出来的时间和数据库中实际的时间不一致的情况,与数据库对比可以发现,这里的时间戳与数据库时间刚好相差了 8 个小时,在实际生产中这种情况是不

一杯咖啡半杯糖的博客 3854

华为OD机考双机位A卷 - 流浪地球(Java & Python& JS & C/C++ & GO )

华为OD机考双机位A卷 - 流浪地球(OD上机考试双机位A卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 4040

洛谷 P1055 [NOIP2008 普及组 T1]:ISBN 号码

●​​​​​​​ 若 x 为数字 0~9 中的一个,'x' 为字符 '0'~'9' 中的一个,则 x 与 'x' 之间具有相互转换的关系。即,x+'0' 得到字符 '0'~'9' 中的一个,'x'-'0' 得到数字0~9 中的一个。 ●​​​​​​​ 若给定字符串 str,则在下面代码中,for 循环的循序变量 i 的上界为 str.size()-1。这是因为字符串 str 的第 str.size()-1 位的值需要进行计算求得。

hnjzsyjyj的专栏 854

Flow Matching03-01:微分方程【微分方程(描述变化规律的方程):包含未知函数和它的导数的方程】【公式解(精确)、数值解(逼近)】

好的,我将从数学角度详细解释Flow Matching,从高中生能理解的基础知识开始,逐步深入到高级概念。

u013250861的博客 219

IMA+DeepSeekR1+本地知识库撰写NOIP2008普及组T3【传球游戏】题解

【摘要】(DeepSeek-R1生成):n人围成环传球m次后返回起点的方案数。解法采用动态规划,状态dp[i][j]表示传i次后到j的方案数。转移方程:dp[i][j] = dp[i-1][左] + dp[i-1][右](边界取模处理)。初始dp[0][0]=1,最终答案dp[m][0]。代码从ball.in读n、m,计算后写入ball.out,时间复杂度O(mn),通过环状取模简化计算。

ZLOJ 657

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NOIP2008普及组 题解 -SilverN

T1 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符, 其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标 准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代...

a394121312的博客 332

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【IMA+DeepSeekR1+本地文件】撰写NOIP2008普及组T4【立体图】题解

摘要:本题需将m×n矩阵转换为立体图,每个数字表示积木层数。解题核心是通过模拟积木堆叠顺序(从后到前、从下到上),动态计算每个积木的绘制坐标,使用字符模板填充画布,并维护最小画布尺寸。代码通过三重循环遍历矩阵,调用drawBlock函数绘制积木,利用文件操作读写输入输出,最终按行输出画布,未覆盖部分以'.'填充。算法时间复杂度为O(mn×h),空间动态适配,严格符合C++98规范。

ZLOJ 575

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IMA+DeepSeekR1+本地知识库撰写NOIP2008普及组T2【排座椅】题解

【摘要】(DeepSeek-R1生成):本题需在教室行列中设置通道,最大化分隔吵闹同学对。采用贪心策略:统计每行/列可分隔的对数,优先选最高者。横向选K条,纵向选L条,最终按编号升序输出。代码通过结构体记录行/列编号及对数,排序后筛选并排序结果,时间复杂度O(M log M + N log N)。

ZLOJ 440

NOIP1998-2018年普及组 CSP-J2 2019 2020 解题报告及视频

NOIP1998-2018年普及组 CSP-J2 2019 2020 解题报告及视频

青少年趣味编程 1261
上一篇: NOIP2009年普及组 T2 分数线划定
下一篇: NOIP2008年普及组 T2 排座椅
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值