编程题
### 问题描述 小浩有一个正整数 ​$M(M\ge2)$ 和一个长度为 ​$N$ 的数组 $A$,满足 $2\le A_i\le M$。 在一次操作中,小浩可以选择一个整数 $X(2\le X\le M)$,然后对于所有 $1\le i\le N$,将 $A_i$ 变为 $\gcd(A_i,X)$。 小浩想让数组 $A​$ 中所有元素相等,请找到满足要求的最少操作次数,可以证明一定有解。 ### 输入格式 第一行输入一个正整数 $T​$ 表示测试数据的组数。 接下来 $T​$ 组测试数据每组输入两行: - 第一行输入两个正整数 $N,M$ 分别表示数组的长度和数组中元素的上界。 - 第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示数组的元素。 ### 输出格式 对于每组测试数据,输出一个整数表示满足要求的最少操作次数,并换行。 ### 样例输入1 ```text 2 3 343 343 343 343 5 100 4 8 12 16 20 ``` ### 样例输出1 ```text 0 1 ``` ### 说明 - 样例 $1$:因为初始时数组 $A$ 所有元素已经相等,所以不需要进行操作。 - 样例 $2$:选择 $X=4$,数组 $A$ 变为 $[\gcd(4,4),\gcd(4,8),\gcd(4,12),\gcd(4,16),\gcd(4,20)]=[4,4,4,4,4]$,此时所有元素相等,进行了 $1​$ 次操作。 ### 评测数据规模 对于所有的评测数据,$1\le T\le20$,$1\le N\le 10^4$,$2\le M\le 10^6$,$2\le A_i\le M​$。
查看答案
赣ICP备20007335号-2