function getMB(a){ var result=[]; (function(v){ var me=arguments.callee; if(v>0&&v<=2){ if(v==1){ result.push(1); }else{ result.push(2); } } else if(v>2){ if(v%2==0){ result.push(2); me((v-2)/2); }else{ result.push(1); me((v-1)/2); } } })(a) return result.reverse().join(""); } console.log(getMB(10))