当前位置: 首页 > news >正文

P1055 [NOIP 2008 普及组] ISBN 号码(java)【AC代码】

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

识别码的计算方法如下:

首位数字乘以 1 加上次位数字乘以 2 ……以此类推,用所得的结果 mod11,所得的余数即为识别码,如果余数为 10,则识别码为大写字母 X。例如 ISBN 号码 0-670-82162-4 中的识别码 4 是这样得到的:对 067082162 这 9 个数字,从左至右,分别乘以 1,2,…,9 再求和,即 0×1+6×2+……+2×9=158,然后取 158mod11 的结果 4 作为识别码。

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

输入格式

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

输出格式

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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

public class Main {
	static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	public static void main(String[] args) throws IOException{
		String str = br.readLine();
		int cnt = 0, j = 1;
		for (int i = 0; i < str.length() - 1; i++) {
			if(str.charAt(i) != '-')
				cnt += (str.charAt(i) -  48) * j++;
		}
		cnt %= 11;
		if(cnt == str.charAt(str.length() - 1) - 48 || (cnt == 10 && (str.charAt(str.length() - 1)) == 'X')) {
			System.out.println("Right");
		}else {
			String s = str.substring(0,str.length() - 1);
			System.out.println(cnt == 10 ? s + "X" : s + cnt);
		}
	}
}

相关文章:

  • 【CXX】5 桥接模块参考
  • SQL Server导出和导入可选的数据库表和数据,以sql脚本形式
  • netcore libreoffice word转pdf中文乱码
  • Vue 3 和 Vite 从零开始搭建项目的详细步骤
  • JavaWeb-Tomcat服务器
  • 一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
  • 鸿蒙-canvas-画时钟
  • vue从入门到精通(十一):条件渲染
  • VLM(视觉语言模型)与DeepSeek R1(奖励机制)如何结合
  • springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
  • 回溯算法——77,216
  • 合理建模--最短路径
  • open webui 部署 以及解决,首屏加载缓慢,nginx反向代理访问404,WebSocket后端服务器链接失败等问题
  • 《机器学习实战》专栏 No12:项目实战—端到端的机器学习项目Kaggle糖尿病预测
  • 第十五届蓝桥杯:爬山
  • 物联网+人工智能的无限可能
  • 多线程和并发篇
  • 我使用windows笔记本通过远程桌面连接连接linux服务器,但是远程桌面连接显示“未启动对服务器的远程访问”,我应该怎么做才能使用笔记本连接服务器呢?
  • Python爬虫系列教程之第十四篇:爬虫项目部署、调度与监控系统
  • MCU Bootloader具备什么条件才能跳转到APP程序
  • 商务网站的建设步骤/西安百度网站排名优化
  • 图片素材网站怎么做/seo综合查询是什么
  • 南海局势最新军事动态/画质优化app下载
  • 淘客cms网站建设教程/青岛网站制作推广
  • 钉钉低代码开发平台/厦门seo全网营销
  • 什么程序做的网站没有index页面/站长网站查询