资讯专栏INFORMATION COLUMN

[到codewars打怪兽]二进制加农炮

caikeal / 342人阅读

摘要:二进制加农炮问题描述验证方式题目理解把两个数的和转换成二进制并以字符串的形式输出。和当前位数数的大小来决定。优解使用了的添加了检测输入的参数合理否。通过执行取余除二取反来实现知识点二进制如何转十进制,十进制如何转二进制

[7 kyu]Binary Addition

二进制加农炮⌚️2016.03.11

问题描述:

验证方式:

题目理解:

把两个数的和转换成二进制并以字符串的形式输出。

我的解法
// only for int number

function addBinary(a, b) {

    var add = a + b;
    var BinaryCanon = "";//先找到最大位。
    if (add != 0)
        BinaryCanon = "1";
    else
        BinaryCanon = "0";
    var Positon = getPowBinary(add) - 1;
    for (var i = Positon - 1; i >= 0; i--) {//在从最大位往下推
        if (getNumAfterPow(add) >= Math.pow(2, i)) {
            BinaryCanon = BinaryCanon + "1";
            add = getNumAfterPow(add);
        } else {
            BinaryCanon = BinaryCanon + "0";
        }
    }
    return BinaryCanon
}

//这个数 比哪一个 2的次方 要小或等于,那么它在 这个次方-2 的位置上 是"1"。
//这个数减去 这个 2的次方-1 之后留下的数,要比什么 2的次方 要笑,那么它在 这个次方-2 的位置上 是"1"。
//最后 如果这个次方 为 2

function getPowBinary(number) {//需要一个能够获得这个数 最接近的 2的次方数 的轮子。
    var Pow = 0;
    for (i = 0, number; number >= Math.pow(2, i)//1⃣️; i++) {
        Pow = i + 1;
    }
    return Pow;
}

function getNumAfterPow(number) {//需要一个 获得 这个数减去 最接近的2的次方数-1 之后 的轮子。  
    var newNum = number - Math.pow(2, getPowBinary(number) - 1);
    return newNum;
}//2⃣️

注解:

完全可以用%解决,这里多此一举了。

Math.pow(a,b) = a^b 。

我的基本思路

获得转化成二进制之后的最大位数,

从这一位开始依次往后一位一位的放数字(通过一个 for循环 ),

而每一位的数字通过比较 剩余数(原始数减去 最大位数 之后的数字。)和 当前位数数 的大小来决定。

优解

使用了Number.toString(2)的:

添加了检测输入的参数合理否。

通过执行 取余除二取反 来实现:

知识点:

Number.toString()

二进制如何转十进制,十进制如何转二进制

isNaN()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78860.html

相关文章

  • [codewars怪兽]我偷了一个会说话的行李箱

    摘要:我偷了一个会说话的行李箱怪兽的属性怪兽的技能大木博士的图鉴你今天照常在火车站偷东西,这次的收获是一个行李箱。正打算依具偷术大全里面的建议,强行把她拆开。如果条件值为真值,运算符就会返回的值否则,就会返回的值。 [5 kyu]Simple digit code breaker 我偷了一个会说话的行李箱⌚️2016.03.15 怪兽的属性: showImg(https://segmentf...

    zsirfs 评论0 收藏0
  • [codewar怪兽]你这小孩看长辈怎么不招呼

    摘要:你这小孩看到长辈怎么不打招呼怪兽的属性怪兽的技能无大木博士的图鉴把它函数弄好来,让他可以好好地欢迎客人战斗记录仪回放注解访问对象的属性。在通过来调用函数调用对象。失误并不是全局对象。国际战场的经典录像不需。 [8 kyu]Broken Greetings 你这小孩看到长辈怎么不打招呼⌚️2016.03.15 怪兽的属性: showImg(http://ww3.sinaimg.cn/la...

    rainyang 评论0 收藏0
  • [codewars怪兽]利润是怎样炼成的

    摘要:利润是怎样炼成的怪兽的属性怪兽的技能大木博士的图鉴你是赵老爷家的算帐二狗子,赵家老爷想要学习一些理财知识,就去询问孔乙己。 [7 kyu]Money, Money, Money 利润是怎样炼成的⌚️2016.03.15 怪兽的属性: showImg(http://ww2.sinaimg.cn/large/006m2mhTgw1f1xxc38fbqj30qa0s2q6f.jpg);sho...

    zhangyucha0 评论0 收藏0
  • [codewars怪兽]串串香

    摘要:问题描述验证方式题目理解函数处理一个参数,一个字符串组。常量值,可以是任意合法的表达式。到字符串长度的一个整数。可选,用于指定连接每个数组元素的分隔符。分隔符会被转成字符串类型如果省略的话,默认为一个逗号。 [7 kyu]Substring fun ⌚️2016.02.22 问题描述: showImg(http://ww1.sinaimg.cn/large/006m2mhTgw1f1p...

    2json 评论0 收藏0
  • [codewars怪兽]尝鲜箭头函数

    摘要:尝鲜箭头函数问题描述验证方式题目分析熟悉的新的函数构造方式箭头函数。箭头函数总是匿名的。我的解法优解和搭配构造可构造有名函数。单句声命可省略。可被非关键字就不能用。 [7 kyu]Sort with Arrow Functions 尝鲜箭头函数⌚️2016.03.08 问题描述: showImg(http://ww4.sinaimg.cn/large/006m2mhTgw1f1p5d9...

    WelliJhon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<