经典指数          
原因
1365
浏览数
0
收藏数
 

输入:整数A 输出:整数B 条件:A和B的二进制1的个数相同,且A和B之间的距离|A-B|最小。

     举报   纠错  
 
切换
1 个答案

javascript:

var num = 1;

var str = parseInt(num).toString(2),n;

n = /10/.test(str) ? str.replace(/^(\d*)10(0*)$/g,function($,b,c,d){return b+"01"+d}):

        str.replace(/^1(1*)$/g,function($,b){return "10"+b});

console.log(parseInt(n,2));

 
切换
撰写答案