题目
从标准输入读入一个非负整数 n,判断其是否为回文整数(即正反读完全一致的数字)。
输入格式:一行输入一个非负整数 n。
输出格式:若为回文数输出 yes,否则输出 no,末尾换行。
数据范围与约定:0 ≤ n ≤ 1018。
思路与算法
1. 算术逆序重构
复制原数 t = n,利用 rev = rev * 10 + t % 10; t //= 10 构造完全逆序的数值,比对 rev == n。
2. 字符串切片对比
也可以将数字转为字符串后通过切片 s == s[::-1] 极速判断。
完整程序
# 完数定义:真因子之和等于自身(排除自身)
for i in range(1, 1001):
s = 0
# 寻找所有真因子并累加
for j in range(1, i):
if i % j == 0:
s += j
if s == i:
print(i)运行示例
输入:
12321输出:
yes