输入测试样例数t
N=X*Y,奇数*偶数,则返回 x,y(若有多组,返回y最小的组合)
否则输出No
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int A[1005];
void judge(int A[]){
for(int i=0;i<1000;i++){
if(A[i]%2!=0){
cout<<"No"<<endl;
}
else{
int k=A[i]/2;
int j=2;
while(k%2==0){
k=k/2;
j=j*2;
}
cout<<k<<" "<<j<<endl;
}
}
}
int main()
{
int t;
cin>>t;
for(int i=0;i<t;i++){
cin>>A[i];
}
judge(A);
}
如:
输入:
3
100
5
10
输出
25 4
No
5 2