编程题
### 问题描述 已知有一个等比数列,第 $1$ 项为 $a$,公比为 $q$($a$ 和 $q$ 均为正整数)。 现在去掉一些数,还剩下 $n$ 个数,并打乱顺序。现在已知 $a,q,n$,以及 $n$ 个数($a$ 不一定包含在给定的 $n$ 个数里),求至少需要在 $n$ 个数里添加几个数,才能使得它们构成一个等比数列。 注意:构造的这个最短的等比数列,其公比不一定就是 $q$。 ### 输入格式 本题有多个测试数据。 输入数据第 $1$ 行为正整数 $T$,表示测试数据的个数,$2≤T≤10$。 每个测试数据占一行,首先是 $3$ 个正整数,$a,q,n,2≤a, n, q≤100$,然后是 $n$ 个不大于 $10^{9}$ 的正整数。 ### 输出格式 对每个测试数据,输出占一行,为一个正整数,表示需要添加的数的最小值。 ### 输入样例 ```txt 2 2 3 3 2 118098 1458 2 3 3 18 1458 118098 ``` ### 输出样例 ```txt 3 0 ```
查看答案
赣ICP备20007335号-2