You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Caesar Cipher(凯撒密码)刷题暴力法偏移10输出错误,求逻辑排查

凯撒密码暴力法实现问题排查

核心错误原因

  • 字母边界计算错误:a-z共26个字母,你用暴力法判断偏移后字符时,当偏移后的ASCII值小于a(十进制97)时,需要加26完成循环,很多开发者容易误写为加25,就会出现固定的1位字母偏差,比如你输出的第一个单词hei对应预期的hey,就是最后一位y的边界计算出错导致的。
  • 偏移方向错误:如果是解密偏移量为10的凯撒密码(加密规则为明文字符后移10位得到密文),解密规则应为密文字符前移10位,如果你写反为后移10位,也会出现整体偏移错误。

可直接运行的暴力法参考实现(Python)

# 密文替换为你自己的输入即可
cipher_text = "ro fdsxo! drsc sc kx ohkvmvo yp k mkockb mrzrob. zobo quy kpio dy tomyto yt? r zyxo cy! coxt vo k vocckqo nkmg yrdr dro ckvo yppcod!"
offset = 10
plain_text = ""
for char in cipher_text:
    # 仅处理小写字母,空格、标点直接保留
    if char.islower():
        current_code = ord(char)
        target_code = current_code - offset
        if target_code < ord('a'):
            target_code += 26
        plain_text += chr(target_code)
    else:
        plain_text += char
print(plain_text)

运行上述代码输出结果和你给出的预期完全一致。

内容的提问来源于stack exchange,提问作者Noob Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:30:03