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);
}
})();
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);
}
})();
相关文章推荐
- c++基础之2进制、10进制和16进制以及内存表示
- ProjectRuler 算法练习之 位数组成字符串同样的整数
- 题目1208:10进制 VS 2进制(进制转换以及大数保存问题)
- (C#)10进制转2进制 数字1的个数
- Project Ruler 算法练习之除数问题
- C语言学习3-1:成绩检测,使用while和do...while得到九九乘法,1-1/2+1/3-1/4 .......+1/10求和,输入10进制打印2进制,求素数,猜随机产生的数字,16进制转二进制,
- ProjectRuler 算法练习之 位数组成字符串相同的整数
- 浅谈IP地址和子网掩码的对应关系,以及2进制和10进制详解!
- js 10进制转2进制 算法
- Project Ruler 算法练习之 Truncate Prime
- [收藏]2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- c# 中 2进制、8进制、10进制、16进制...各种进制间的轻松转换
- C# 2进制转10进制
- 10进制怎么转化为2进制
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换 (C#)
- C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换
- C#:10进制转2进制函数
- VC++ 中实现进制2进制,10进制,16进制的相互转换
- 10进制转2进制