题目

从标准输入读入一个非负整数 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