Type: Default 1000ms 512MiB

[R70C]弱化

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

1S/512M

题目描述

对于一个正整数 xx,若存在一个整数进制 bbb2b\ge 2),使得 xxbb 进制下的表示同时满足以下条件,则称 xx 为一个弱回文数

  • 该表示是一个回文数;
  • 该表示至少包含两位数字。

形式化地,设 xxbb 进制下的表示从高位到低位依次为 dm,dm1,,d0d_m,d_{m-1},\dots,d_0,其中 m1m\ge 11dm<b1\le d_m<b,且对于所有 0im0\le i\le m,均有 0di<b0\le d_i<b。若

di=dmid_i=d_{m-i}

对于所有 0im0\le i\le m 均成立,则该表示是一个回文数。

给定一个正整数 xx,你需要判断 xx 是否为弱回文数。若是,还需要给出任意一个满足条件的进制 bb

格式

输入格式

本题包含多组测试数据。

第一行包含一个正整数 TT,表示测试数据的组数。

接下来 TT 行,每行包含一个正整数 xx,表示该组测试数据中需要判断的正整数。

输出格式

对于每组测试数据:

  • xx 不是弱回文数,输出一行一个字符串 No
  • xx 是弱回文数,先输出一行一个字符串 Yes,再输出一行一个整数 bb,表示你找到的满足条件的进制。

若存在多个满足条件的进制,输出任意一个即可。

样例

样例输入 #1

4
2
8
28
85

样例输出 #1

No
Yes
3
Yes
3
Yes
4

样例解释 #1

2222 进制下表示为 (10)2(10)_2,不是回文数;在大于 22 的进制下均只包含一位数字,因此也不是弱回文数。

8833 进制下表示为 (22)3(22)_3282833 进制下表示为 (1001)3(1001)_3858544 进制下表示为 (1111)4(1111)_4,因此它们都是弱回文数。

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 TT\le xx\le
11 5050 100100 10410^4
22 5050 10410^4 10910^9

对于 100%100\% 的数据,满足 1T1041\le T\le 10^41x1091\le x\le 10^9

代码源挑战赛 Round 70

Not Attended
Status
Done
Rule
DMY
Start at
2026-7-17 20:00
End at
2026-7-17 21:30
Duration
1.5 hour(s)
Host
Partic.
369