完全平方数
题目描述
原题有对应的选择、判断题,见 https://ti.luogu.com.cn/problemset/1143。
小杨同学有一个包含 n 个非负整数的序列 A,他想要知道其中有多少对下标组合 ⟨i,j⟩(1≤i<j≤n),使得 Ai+Aj 是完全平方数。
如果 x 是完全平方数,则存在非负整数 y 使得 y×y=x。
输入格式
第一行一个非负整数 n,表示非负整数个数。
第二行包含 n 个非负整数 A1,A2,…,An,表示序列 A 包含的非负整数。
输出格式
输出一行一个整数表示答案。
样例输入
5
1 4 3 3 5
样例输出
3
样例解释
对于样例,序列为 [1,4,3,3,5],共有 5 个数。满足 Ai+Aj 是完全平方数的下标组合有:
- ⟨1,3⟩:1+3=4=2×2,是完全平方数。
- ⟨1,4⟩:1+3=4,同样是完全平方数(注意序列中有两个 3 位于不同位置)。
- ⟨2,5⟩:4+5=9=3×3,是完全平方数。
其余组合的和均非完全平方数,因此答案为 3。
数据范围
对全部的测试数据,保证 1≤n≤1000,0≤Ai≤105。