#1228. 下棋
下棋
题目描述
我们定义一种“-合法数”:对于一个正整数 和一个正整数 ,如果 在 进制下的所有数位上的数字之乘积非零,且该乘积能够整除 本身,则称 为“-合法数”。 例如:
- 当 时, 是 -合法数,因为 。
- 当 时, 是 -合法数,因为 转换为 进制后为 ,而 。
- 当 时, 不是 -合法数,因为 转换为 进制后为 ,数位乘积为 ,而 不能作为除数。
Alice 和 Bob 正在玩一个取棋子游戏。初始时有 枚棋子。 在游戏开始前,Alice 会选定一个正整数 ()。 随后两人交替取走棋子,由 Alice 先手。每次取走的棋子数量必须是一个 -合法数。取走最后一枚棋子的一方获胜。
假设双方均采取最优策略。给定初始棋子数 ,请你求出能使 Alice 先手必胜的最小的 是多少?
输入格式
第一行包含一个正整数 —— 表示数据组数。
接下来 行,每行包含一个正整数 —— 表示初始的棋子数。
输出格式
输出共 行,每行一个正整数,表示对应询问中能使 Alice 必胜的最小的 。
样例输入 1
3
9
5
10
样例输出 1
2
2
3
说明
样例解释
当 的时候,Alice 可以选择 。
- 初始时有 枚棋子。
- Alice 先手拿走 枚(因为 ,数位乘积为 ,,所以 是合法的)。
- 此时剩余 枚棋子。Bob 只能拿走 枚(因为 合法,而 数位乘积为 不合法)。
- 最后剩余 枚,Alice 拿走最后的 枚从而获胜。
又因为 已经是题目允许的最小值,所以对于 最终答案为 。
数据范围
- 对于所有测试点,保证 。
- 对于所有测试点,保证 。
- 保证所有的输入数值均为整数。