解题思路
2024-12-18 21:46:24
发布于:广东
14阅读
0回复
0点赞
一、准备阶段
- 先接收一个输入数字并赋值给 “原数” 变量。
- 接着创建 “初始原数” 变量,并将 “原数” 的值赋给它,以此备份最初输入的完整数字,用于后续比较。
- 同时,把 “反转数” 初始化为 0,用于后续构建原数的反转形态。
二、构建反转数
通过循环来处理原数的每一位数字,只要 “原数” 大于 0 就执行以下操作:
- 获取个位数字:
利用取余运算(“原数 % 10”)获取当前 “原数” 的个位数字,作为构建反转数的基本元素。 - 构建反转数操作:
- 先将 “反转数” 乘以 10,这样既为新获取的个位数字按照数位顺序腾出对应位置(个位、十位等依次左移),也能让已在 “反转数” 中的数字按数位权重进位到相应高位,保证数字按正确数位构成变化。
- 再把刚获取的个位数字添加到 “反转数” 中(“反转数 = 反转数 * 10 + 个位数字”),逐步累积原数各数位数字以形成反转数,持续这个过程直至 “原数” 变为 0,此时 “反转数” 构建完毕。
三、判断回文数
当 “原数” 变为 0,也就是完成反转数构建后,使用一开始备份好的 “初始原数” 与构建好的 “反转数” 进行对比。若二者相等,意味着该数字正序和逆序一致,判定为回文数;若不相等,则判定不是回文数,从而得出最终判断结果。
伪代码:
输入一个数字 原数
初始原数 = 原数 // 备份原数,避免后续原数变动影响比较,保存最初输入的完整值
反转数 = 0 // 初始化反转数为0,用于后续按数位规则构建原数的反转形态
当 原数 > 0 时 // 只要原数大于0,意味着原数还有数位未处理,进入循环操作
个位数字 = 原数 % 10 // 利用取余运算获取原数当前的个位数字,作为构建反转数的基础元素
反转数 = 反转数 * 10 + 个位数字 // 先将反转数乘以10,按数位顺序腾出位置并让已有数字进位,再添加获取的个位数字来构建反转数
原数 = 原数 / 10 // 去掉原数已处理的个位数字,准备处理下一位数字
如果 初始原数 == 反转数 // 循环结束后,用备份的初始原数和构建好的反转数进行比较
输出 "Yes"
否则
输出 "No"
这里空空如也
有帮助,赞一个