这题要求是
输入W
然后输出两 N M
其中N为奇数 M为偶数 并且M需要尽可能小
又题意及数学知识可知
奇数一定会输出“Impossible”
而对于偶数
则可使用暴力遍历
然后进行判断
#include<stdio.h>
int main() {
int T;
int i;
long long W,j,k;
scanf("%d",&T);
for(i=1; i<=T; i++) {
scanf("%lld",&W);
printf("Case %d: ",i);
if(W&1)
printf("Impossible\n");
else {
for(j=2; j<=W; j+=2) {
if(W%j==0)
if((W/j)&1) {
k=W/j;
printf("%lld %lld\n",k,j);
break;
}
}
}
}
return 0;
}