京东,数据分析,第二题 求x*y=n的数
	附上代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in); 
        int n = in.nextInt();
        if(n<1 || n>1000){  System.out.println("No");
        }
        int nows[] =new int[n];
        while(in.hasNext()){  for (int i=0;i<n;i++){  nows[i]=in.nextInt();  }  String[] res = get_res(nows);  for(String str:res){  System.out.println(str);  }
        }      
    }
    static String[] get_res(int[] nows){  String res[] = new String[nows.length];  for(int i =0;i<nows.length;i++){  //如果是2的次幂  if((nows[i]&(nows[i]-1))==0 || nows[i]<2 || nows[i]>Math.pow(2, 63)){  res[i]="No";  }else{  res[i]=get_x_y(nows[i]);  }  }  return res;
    }
    //得到一个数的x*y=n的所有值
    static String get_x_y(int n){  String res ="No";  int x=2,y=n;  while(x<y){  if(x*y==n){    //x和y的位置互换  if(x%2==0 && y%2!=0){  res = y+" "+x;  }  break;  }  else if(x*y<n){  x++;  }else if(x*y>n){  y--;  }  }  return res;
    }
}
