2309.c

来自「北京大学ACM比赛题目 Consider an infinite full b」· C语言 代码 · 共 27 行

C
27
字号
#include"stdio.h"
#include"math.h"
#include"string.h"
int main()
{ int x,p,N;
  int i,j;
  int min,max;
  scanf("%d",&N);
  for(j=1;j<=N;j++)
  { 
      scanf("%d",&x);
      if(x%2==1) {min=x; max=x;}
      else
      {
         for(i=30;i>0;i--)
      {
        p=pow(2,i-1);
    if(x%p==0) break;
    }
    //printf("%d\n",i);
    min=x-pow(2,i-1)+1;
    max=x+pow(2,i-1)-1;
    }
   printf("%d %d\n",min,max);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?