Description
描述
给你一个整数集合A(无重复元素),如果x,y都属于A,且y=xx,那么组成一个数对,请找出这个集合中满足条件的数对的个数。比如说集合A={2,3,4},则只有4=22,则答案为1。
输入
每个样例占2行,第一行为一个非负整数n,n<=1000,为集合中元素的个数,如果n为0则输入结束。第二行为n个整数,为集合的元素,所有的元素为非负整数,且<=100,000,000,两个整数之间有一个空格隔开。
输出
每行输出一个样例的结果。
Sample Input
3
2 3 4
5
3 36 5 9 6
0
Sample Output
1
2
#include <stdio.h>
int main()
{
int i,j,k,s,n,A[1001],x,y;
while(scanf("%d",&n))
{
s = 0;
if(n == 0)
{
break;
}
for(i = 0;i < n;i++)
{
scanf("%d",&A[i]);
if(A[i]==1)
{
s-=1;
}
}
for(j = 0;j < i;j++)
{
x = A[j];
for(k = 0;k < i;k++)
{
y = A[k];
if(y == x * x)
{
s++;
}
}
}
printf("%d\n",s);
}
return 0;
}
结果为Wrong Answer,哪里错了呢?