import java.util.Scanner; publicclass Main {     public static void main(String[] args) {         Scanner in = new Scanner(System.in);         while (in.hasNextInt()) {             int n = in.nextInt();             String bin = Integer.toBinaryString(n);             char[] c = bin.toCharArray(); //10进制转为2进制             int first1 = -1;             int first0 = -1;             for(int i=c.length-1,len=c.length;i>=0;i--){             if(c[i]=='1'&&first1==-1){             first1 = i; //找到从右往左的第一个1             }             if(c[i]=='0'&&first1!=-1){             first0 = i; //从第一个1开始出发,找到第一个0             break;             }             }             c[first1] = '0'; //1变0             c[first0] = '1'; //0变1             System.out.println(Integer.parseInt(String.valueOf(c),2));  //2进制转回10进制         }     } }
点赞 12

相关推荐

鼠鼠求offer鸭:没事,骗一次就老实不会幻想有好事砸中自己了😂😂
点赞 评论 收藏
分享
牛客网
牛客企业服务