通过率 58% · 提交 93 · 通过 54
在古老的魔法世界中,魔法师们使用一种神秘的符文来传递信息。这些符文由特殊的魔法字节组成,每个字节用2位十六进制数字表示。为了确保信息在传递过程中不被黑暗魔法篡改,魔法师们发明了一种称为“魔法”的守护咒语。 魔法校验和的计算规则如下: 1. 补齐规则:如果待校验的符文字节长度不是4的倍数,则在尾部使用值为 `0xFF` 的魔法字节(最多补充3个字节)。 2. 计算规则: - 假设补齐后的字节长度除以4,得到一个正整数 `n`。 - 若 `n` 等于1,内容即为校验和; - 若 `n` 大于1,首先取开头4个字节与第5-8字节进行,然后运算结果与随后的4个字节继续进行异或运算,直至结束,最后的结果即为校验和。 现在,你作为一名年轻的魔法师,需要根据给定的符文,计算并输出其魔法校验和。
这类题属于华为可信认证科目一方向中「可信 / 位运算」方向的高频题型,通常考察对「可信 / 位运算」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入为一个十六进制字符串表示的、合法的魔法符文,每2个字符(输入仅为 [0-9A-F])表示一个字节,字节之间以单空格分隔;字符串首尾无空格,长度范围:[2,200]。
输出为一个十六进制字符串形式的魔法校验和,格式如 0000000A。
示例 1
输入示例
61 62 63 64 32 30 31 32 4C 61 62
输出示例
1F3330A9
61 62 63 64 32 30 31 32 4C 61 62 FF,倍数为3。0x61626364,与第二次取得的 0x32303132,异或运算结果为 0x53525256,运算结果继续与第三次取得的 0x4C6162FF 进行异或运算。0x1F3330A9,结果输出为字符串 1F3330A9,注意:不用在前面增加 0x。示例 2
输入示例
41
输出示例
41FFFFFF
示例 3
输入示例
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
68 75 61 77 65 69
输出示例
0D1C9E88
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有