输入一个数N ,判断他能否分解为两个数x ,y乘积。其中x为奇数,y为偶数。如果有,则输出x,y。如果结果有多种情况,输出y最小的结果。如果没有,不能分解,输出No。
解题思路:判断N是不是偶数,是偶数就再除2,直到N分解成了一个奇数。那么这个奇数就是x,N/X就是y。
输人:
要输入的N的个数
依次输入每个N
上代码:
import java.util.Scanner;
public class JiingDong2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// String input = sc.next();
int t = sc.nextInt();
for(int i=0;i<t;i++){
long N = sc.nextInt();
if((N &0x1)==1)
System.out.println("No");
else{
int Y = 2 ;
long X = N;
while(X>1 && (X &0x1)==0){
X =X/2;
}
if((X &0x1)==1)
System.out.println(X+" "+(N/X));
}
}
}
}