1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

本题要求对单号进行格式与校验位核验,并在必要时修复。单号规则为:前 8 位由“2 位大写字母 + 6 位数字”组成,第 9 位为校验位。校验位的计算算法为:对前 8 位每个字符取 ASCII 码求和,结果对 26 取余,再加上 A 的 ASCII 码,得到的大写字母即为校验位。

核心步骤(字符串处理与取模运算):

  1. 判断长度是否为 9,否则返回 Invalid。
  2. 校验前 8 位是否满足格式:[A-Z]{2}\d{6}。若不满足,返回 Invalid。
  3. 计算期望校验位:

P3847.第1题-快递单号录入

    1000ms Tried: 101 Accepted: 43 Difficulty: 3 所属公司 : 拼多多
    算法与标签>模拟

题目内容

多多在快递公司负责快递单号录入工作,这些单号有严格的格式要求:

1.快递单号由 333 部分组成:222 位大写字母 (AAA~ZZZ) +6+6+6 位数字 +1+1+1 位校验位

2.校验位计算规则:取前 888 位( 222 字母+ 666 数字)中每个字符的 ASCIIASCIIASCII 码之和,对 262626 余后,加上 AAA 的 ASCIIASCIIASCII 码,得到的字符即为校验位

现在有一批可能存在校验位错误的单号,请你编写程序:

1.若单号格式正确且校验位正确,返回原单号

2.若前 888 位格式正确但校验位错误,返回修复后(校正校验位)的单号

3.若前 888 位格式错误(非 222 字母 +6+6+6 数字)或快递单号不满足格式要求,返回字符串 InvalidInvalidInvalid

输入描述

共一行,一个字符串 (1<=1<=1<=长度 <=1024<=1024<=1024 ),表示待校验的快递单号

输出描述

共一行,一个字符串,表示修复后的快递单号,若无法修复则返回字符串 InvalidInvalidInvalid

样例1

输入

AB123456C

输出

AB123456Y

说明

前 888 位字符:A(ASCIIA(ASCIIA(ASCII 码 =65)、B(ASCII=65)、B(ASCII=65)、B(ASCII 码 =66)、1(ASCII=66)、1(ASCII=66)、1(ASCII 码 =49)、2(ASCII=49)、2(ASCII=49)、2(ASCII 码 =50)、3(ASCII=50)、3(ASCII=50)、3(ASCII 码 =51)、4(ASCII=51)、4(ASCII=51)、4(ASCII 码 =52)、5(ASCII=52)、5(ASCII=52)、5(ASCII 码 =53)、6(ASCII=53)、6(ASCII=53)、6(ASCII 码 =54)=54)=54)

总和:65+66+49+50+51+52+53+54=44065+66+49+50+51+52+53+54=44065+66+49+50+51+52+53+54=440,440440440 % 26=2426=2426=24,24+65(A24+65(A24+65(A 的 ASCIIASCIIASCII 码 )=89)=89)=89,对应字符 YYY

因此该单号校验位错误,正确单号应为 AB123456YAB123456YAB123456Y

样例2

输入

AC123456Z

输出

AC123456Z

说明

前 888 位字符:A(ASCIIA(ASCIIA(ASCII 码 =65)、C(ASCII=65)、C(ASCII=65)、C(ASCII 码 =67)、1(ASCII=67)、1(ASCII=67)、1(ASCII 码 =49)、2(ASCII=49)、2(ASCII=49)、2(ASCII 码 =50)、3(ASCII=50)、3(ASCII=50)、3(ASCII 码 =51)、4(ASCII=51)、4(ASCII=51)、4(ASCII 码 =52)、5(ASCII=52)、5(ASCII=52)、5(ASCII 码 =53)、6(ASCII=53)、6(ASCII=53)、6(ASCII 码 =54)=54)=54)

总和:65+67+49+50+51+52+53+54=44165+67+49+50+51+52+53+54=44165+67+49+50+51+52+53+54=441,441441441 % 26=2526=2526=25 ,25+6525+6525+65( AAA 的

ASCIIASCIIASCII 码)=90=90=90,对应字符 ZZZ

因此该单号校验位正确,直接返回单号 AC123456ZAC123456ZAC123456Z

样例3

输入

AC123M56Z

输出

Invalid

说明

快递单号由 333 部分组成:222 位大写字母 +6+6+6 位数字 +1+1+1 位大写母校验位,不满足规则,直接返回 InvalidInvalidInvalid

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 38ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?