#6874. A4. 反向计算(Terugrekenen)

A4. 反向计算(Terugrekenen)

荷兰信息学奥林匹克 2025-2026 第一轮

A4. 反向计算(Terugrekenen)

原赛事: Nederlandse Informatica Olympiade 赛季: 2025-2026 阶段: 第一轮(Eerste ronde)


题目描述

在本题中,我们再次处理 NIO 数,但这一次的计算方向与 A3 题相反。

给定一个整数:

mm

你需要找出所有满足:

N(n)=mN(n)=m

的整数 (n)。

这样的 (n) 可能有多个,也有可能一个都不存在。


输入格式

编写一个程序,从标准输入读取一行。

这一行包含一个整数:

m

满足:

2m100002\le m\le10000

输出格式

程序向标准输出输出一行或多行。

要求如下:

  • 每一行输出一个满足
N(n)=mN(n)=m

的整数 (n);

  • 所有可能的 (n) 必须按照从小到大的顺序输出;

  • 如果不存在任何满足

N(n)=mN(n)=m

的整数 (n),则只输出一行:

0
  • 程序时间限制为:
1 秒

样例 1

输入:

216

输出:

56
60
92
102
110
125
142
159
187

样例 2

输入:

1344

输出:

546
585
747
806
861
897
1001
1115
1169
1271

样例 3

输入:

1025

输出:

0

与 A3 的关系

A3 是:

nN(n)n\rightarrow N(n)

例如:

N(60)=216N(60)=216

而 A4 则反过来:

216?216\rightarrow ?

要求找出所有满足:

N(n)=216N(n)=216

的 (n)。

所以这道题并不是简单求一个逆函数,因为同一个 (m) 可能对应多个不同的 (n)。