您的位置:首页 > 其它

Project Ruler 算法练习之 10 进制 转 2进制 以及数字对称

2014-06-05 12:43 519 查看
问题描述:The decimal number, 585 = 10010010012 (binary), is palindromic in both bases.Find the sum of all numbers, less than one million, which are palindromic in base 10 and base 2.(Please note that the palindromic number, in either base, may not include leading zeros.)
1.找出十进制对称的数字2.在十进制对称的数字转2进制找出2进制也对称的数字
(function(){

var isPalin = function (n){
var strN = n.toString();
if(strN.length < 2)return false;

for(var i =0 ;i <= n/2;i++){if(strN[i] != strN[strN.length-1-i]) return false;}

return true;
};

var toBinary = function tb(n){
if(this.ret == undefined) this.ret = "";

var tmp = n / 2 | 0;
this.ret = (n % 2).toString() + this.ret;
if(tmp == 1){var r = "1" + this.ret; this.ret = ""; return r;}
else{return tb(tmp);}

};

for(var i = 1; i< 300 ;i ++){
if(isPalin(i) && isPalin(toBinary(i))) console.log (i);
}

})();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: