题目
从标准输入读入一个非负整数 n,将其各个十进制数位逆序输出。
输入格式:一行输入一个非负整数 n。
输出格式:输出逆序后的数字序列,末尾换行。
数据范围与约定:0 ≤ n ≤ 1018。
思路与算法
1. 取模与截断
通过 n % 10 取出当前末位数并打印,随后 n //= 10 丢弃个位,直到 n 变为 0。
2. 边界 0 特判
输入为 0 时,常规 while n > 0 会直接跳过,需先行特判或使用条件分支。
完整程序
# 遍历所有三位数(100 ~ 999)
for i in range(100, 1000):
a = i // 100 # 百位
b = (i // 10) % 10 # 十位
c = i % 10 # 个位
# 水仙花数定义:各位数字立方和等于原数
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)运行示例
输入:
1234输出:
4 3 2 1