编程题
### 问题描述 有一个正整数序列 $a$,序列包含 $n$ 个元素,分别为 $a_1,a_2,...,a_n$,问:这个序列里面有多少对元素的乘积是一个完全平方数? **$\bullet$ 完全平方数的定义:若一个整数能表示成某个整数的平方的形式,则称这个整数为完全平方数。** ### 输入格式 输入第 $1$ 行包含一个正整数 $n$,表示 $a$ 序列元素的个数。 输入第 $2$ 行包含 $n$ 个正整数 $a_i$,两数之间用空格隔开。 ### 输出格式 输出答案。 ### 样例输入1 ``` 3 2 2 2 ``` ### 样例输出1 ``` 3 ``` ### 样例输入2 ``` 3 1 2 3 ``` ### 样例输出2 ``` 0 ``` ### **说明/提示** 对于所有评测数据,$2\leq n\leq 10^5,1\leq a_i\leq 10^6$。 样例 $1$ 中,该序列的数对包括 $(a_1,a_2),(a_1,a_3),(a_2,a_3)$,其中: $a_1\times a_2=2\times 2=4$ $a_1\times a_3=2\times 2=4$ $a_2\times a_3=2\times 2=4$ 因为 $4$ 是一个完全平方数,所以答案 $=3$。 样例 $2$ 中,该序列中任意一个数对的乘积都不是完全平方数,因而答案 $=0$。
查看答案
赣ICP备20007335号-2