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

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
小浪_Coding:1. 项目,纯测试的项目不要往简历上写, 外卖项目需要包装一下,加点自己的产出,和测试关联的 2. 个人技能写的浅且不全, 需要展开细写, 同时需要补充额外的技术栈. 3. 项目可以换i自动化/CI CD的项目, 整体排版需要优化.
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务