HXOJ3189. [五级原创] 快乐数

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB

题目描述

快乐数

题目描述

小珅对数字非常敏感,机缘巧合之下,他发现了一种特殊的数字,小珅称其为快乐数。

快乐数定义为:对于一个正整数 y,如果存在一个正整数 x,使得 x 加上 x 的各个数字之和为 y,那么就称 y 是一个快乐数,x 为 y 的快乐因子。

例如:

  • y = 205 是一个快乐数,其快乐因子为 188;
  • y = 108 不是一个快乐数,其没有对应的快乐因子;
  • y = 2021 是一个快乐数,其快乐因子为 1996。

现在小珅想要询问你 q 次,每次询问给出一个整数 y。你需要回答 y 是否是快乐数:如果是快乐数,就输出对应的快乐因子;如果有多个快乐因子,就输出最小的快乐因子;否则输出 No。

输入描述

第一行包含一个整数 q,表示有 q 次询问。

接下来 q 行,每行包含一个正整数 yiy_i,其中第 i 行的整数 yiy_i 表示第 i 次询问给出的整数。

输出描述

输出共 q 行。对于第 i 行,如果 yiy_i 是快乐数,输出其对应最小的快乐因子,否则输出 No。每行一个结果。

样例 1

输入:

3
8
15
7

输出:

4
12
No

样例 2

输入:

5
201
31
1000
281
282

输出:

186
No
977
271
267

样例 3

输入:

6
10
195
211
1000000
235
213666

输出:

5
183
No
No
230
213645

数据范围

  • 对于 60% 的数据:1 ≤ q ≤ 100,1 ≤ yiy_i ≤ 10^6。
  • 对于 100% 的数据:1 ≤ q ≤ 2×10^5,1 ≤ yiy_i ≤ 10^6。