题目分析
简单介绍
之前的解密程序上进行进一步修改,以适应不同大小的字母表:
- 仍然执行原来的解密过程——用户输入一个加密字母(数字)和移位值,计算出正确的解密字母。
- 新增功能:程序应该接受用户输入字母表的大小(不是固定的 26 个字母)。
- 调整计算方式,使其适用于任意大小的字母表,例如,如果字母表大小是 10,则字母编号范围应为 0-9,而不是 0-25。
- 输出格式,不变
要求解释:

你的程序应该按以下步骤执行:
- 启动时,显示文本
"CAESAR CYPHER DECRYPT"
。
- 提示用户输入字母表的大小 (
alphabet_size
),范围为 1-26(即允许使用不同大小的字母表)。
- 提示用户输入一个加密的字母(一个 0 到
alphabet_size - 1
之间的数字)。
- 提示用户输入 Caesar 移位值(一个 0 到
alphabet_size - 1
之间的数字)。
- 计算 3个可能的解密结果。
- 按从左到右的顺序显示 3 个可能的解密结果,让用户看到更广泛的解密选项。
解题思路:
根据题目提示
移动后位子 = (初始位子 - 移动位子) 整除 alphabet_size
向左两位 = (初始位子 - (移动位子+2)) 整除 alphabet_size
向右两位 = (移动后答案 - (移动位子-2)) 整除 alphabet_size
总结:
第三题就在第二题上改一个变量,总之,问题不大,秒了。