编程题
### 问题描述 给出一个长度为 $n$ 的整数数组 $A$,分别为 $A_1,A_2,...,A_n$。 小蓝可以对数组进行操作,每次操作选定一个下标 $i$,再确定一个整数 $k$,令 $A_i=A_i\times k$。 小蓝想要知道,最少需要操作几次,才能让数组 $A$ 变成**完美的数组**。 **完美的数组**定义: 对于任意 $i\ge2$,$gcd(A_{i-1},A_i)=1$。 $gcd(a,b)$ 是 $a$ 和 $b$ 的最大公约数。 如果无论怎么操作都无法让数组变成**完美的数组**,输出 $-1$。 ### 输入格式 第一行输入一个整数 $n$。 第二行输入 $n$ 个整数表示 $A$ 数组。 ### 输出格式 输出一行,包含一个整数,表示最小的操作次数。 ### 样例输入 ```text 2 1 2 ``` ### 样例输出 ```text 0 ``` ### 评测数据规模 保证对于所有测试数据有: $2\le n\le 10^5,1\le a_i\le10^9$。
查看答案
赣ICP备20007335号-2