#CF1950D. Product of Binary Decimals

    ID: 6888 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>暴力动态规划模拟数论CodeforcesCodeforces Round 937(Div4)Div4DCF1950D1100

Product of Binary Decimals

题目描述

二进制小数的乘积

我们称一个数字为二进制小数,如果它是一个正整数,并且其十进制表示中的所有数字都是0或1。例如,10101111010111 是一个二进制小数,而 1020110201787788787788 不是。

给定一个数 nn,你被要求判断是否可能将 nn 表示为一些(不一定是不同的)二进制小数的乘积。

输入格式

第一行包含一个整数 tt1t51041 \leq t \leq 5 \cdot 10^4)— 测试用例的数量。

每个测试用例的唯一一行包含一个整数 nn1n1051 \leq n \leq 10^5)。

输出格式

对于每个测试用例,如果 nn 可以表示为一些二进制小数的乘积,则输出 "YES"(不带引号),否则输出 "NO"(不带引号)。

你可以以任何形式输出 "YES" 和 "NO"(例如,字符串 "yES"、"yes" 和 "Yes" 都将被认为是肯定的响应)。

样例

11
121
1
14641
12221
10110
100000
99
112
2024
12421
1001
YES
YES
YES
YES
YES
YES
NO
NO
NO
NO
YES

样例说明

前五个测试用例可以表示为二进制小数的乘积如下:

121=11×11121 = 11 \times 11 1=11 = 1 已经是一个二进制小数。 14641=11×11×11×1114641 = 11 \times 11 \times 11 \times 11 12221=11×11×10112221 = 11 \times 11 \times 101 10110=1011010110 = 10110 已经是一个二进制小数。

来源

Codeforces 1950D,英文题名 Product of Binary Decimals。