题目链接:http://poj.org/problem?id=2309
题意不难理解,不方便描述,所以,抱歉了!
直接看代码:
#include<stdio.h>
void main(){
int num;
scanf("%d",&num);
while(num--)
{
long int i,n,q,min,max;
scanf("%d", &n);
if(n%2==1)
{
min=n;
max=n;
}
else
{
q=1;
for(i=1;i<=31;i++)
{
q*=2;
if(n%q==0 && n%(q*2)!=0)
break;
}
min=n-q+1;
max=n+q-1;
}
printf("%d %d\n",min,max);
}
}