一、 故事开始魔法数字宝箱小杨同学有一排数字宝石1 4 3 3 5他想从里面任选两个宝石看看它们相加后是不是一种神奇数字✨ 完全平方数二、 什么叫完全平方数就是某个整数自己乘自己得到的数。例如1 1×1 4 2×2 9 3×3 16 4×4 25 5×5这些都叫完全平方数三、 任务1、统计有多少对数字i j满足a[i] a[j]是完全平方数2、 样例输入5 1 4 3 3 53、‍♂️ 数字配对大冒险数组位置1 4 3 3 5我们每次选两个数4、 全部组合检查① 1 4 5不是平方数 ❌② 1 3 4是平方数 ✅③ 1 3 4是平方数 ✅④ 1 5 6不是 ❌⑤ 4 3 7不是 ❌⑥ 4 3 7不是 ❌⑦ 4 5 9是平方数 ✅⑧ 3 3 6不是 ❌⑨ 3 5 8不是 ❌⑩ 3 5 8不是 ❌5、 一共找到3 对6、✅ 输出3四、 解题思路像机器人巡逻我们要检查所有两两组合。 第一步输入数字int n; cin n; 第二步存进数组int a[1010]; 第三步双重循环找组合外层选第一个数for(int i1;in;i)内层选第二个数for(int ji1;jn;j)这样就不会重复 第四步判断是不是平方数先求和m a[i] a[j];再开平方t sqrt(m);如果t*t m说明它是完全平方数五、 参考程序#includeiostream #includecmath using namespace std; int main() { int n; cin n; int a[1010]; for(int i 1; i n; i) cin a[i]; int ans 0; for(int i 1; i n; i) { for(int j i 1; j n; j) { int m a[i] a[j]; int t sqrt(m); if(t * t m) ans; } } cout ans endl; return 0; }六、 运行演示输入4 2 7 9 0检查279 ✅ 2911 ❌ 202 ❌ 7916 ✅ 707 ❌ 909 ✅输出3七、 本题考点1、✅ 数组存数据int a[];2、✅ 双重循环枚举组合for for3、✅ sqrt 开平方sqrt(9)34、✅ 判断平方数技巧t*tm5、 为什么 ji1因为(1,4)和(4,1)是同一对不重复算八、 总结这题就是 选两个数 求和 判断是不是平方数 统计数量