#SY0706. 翻转乘数

翻转乘数

丝路翻转乘数

2026 青少年信息素养大赛 复赛卷五 · 初中组 C++ 第 12 题

题目描述

古代丝绸之路的商队通关编号为一个 n 位数 num。商队发现,存在一个乘数 x(1 < x < 10),使得 num × x 的结果恰好等于 num 的数字翻转后的数(如 1234 翻转后为 4321)。

要求:

  • 商队编号 num 的首尾数字均不为 0
  • 编号不是所有数字都相同的数(如 2222 这种不合法,直接输出 0)

找出所有满足条件的 x,按从小到大输出;若无解则输出 0。

例如:num = 2178,2178 × 4 = 8712(数字翻转),则 x=4 是一个解。

输入格式

输入一个 n 位数,表示商队的通关编号 num。

输出格式

输出所有可能的乘数 x,按从小到大排列,每个数占一行;若无解则输出 0。

样例输入

2178

样例输出

4

数据范围

num 为长度不超过 10 的正整数。