题意:给一串2-15个数字,求有多少对数(x,y)满足x=2y的关系。
思路:排序后二分查找~if(Arrays.binarySearch(a,i+1,pop,a[i]<<1)>0) ans++;如果找到了就ans++。
AC代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
static Scanner scan=new Scanner(System.in);
public static void main(String[] args)
{
here:
while(scan.hasNext())
{
int a[]=new int[15],pop=0,num,ans=0;
while(true)
{
num=scan.nextInt();
if(num==0) break;
else if(num==-1) break here;
a[pop++]=num;
}
Arrays.sort(a,0,pop);
for(int i=0;i<pop-1;i++)
if(Arrays.binarySearch(a,i+1,pop,a[i]<<1)>0) ans++;
System.out.println(ans);
}
}
}