codewars练习(javascript)-2021/3/12

本文提供了三道Codewars JavaScript练习题的解决方案,包括打印机错误统计、立方数求和及整数位反转等算法实现,展示了JavaScript解决实际问题的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

codewars-js练习

2021/3/12

github 地址

my github地址,上面有做的习题记录,不断更新…

【1】<7kyu>【Printer Errors】

a to m.

example

s="aaabbbbhaijjjm"
error_printer(s) => "0/14"

s="aaaxbbbbyyhwawiwjjjwwm"
error_printer(s) => "8/22"

solution

<script type="text/javascript">
    function printerError(s) {
        console.log(s)
        var arr = s.match(/[n-z]/ig)
        var len;
        if(arr == null) len = 0
        else len = arr.length
        return len + '/' + (s.length)
    }
    // 验证
    // console.log(printerError("aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmxyz"));//"3/56"
    console.log(printerError('kkkwwwaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmxyz'));//'6/60'
    console.log(printerError('aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmm'));//0
</script>
function printerError(s) {
  return `${s.replace(/[a-m]/ig, '').length}/${s.length}`;
}
【2】<7kyu>【Sum of Cubes】

Write a function that takes a positive integer n, sums all the cubed values from 1 to n, and returns that sum.

example

sumCubes(2) // 9
// sum of the cubes of 1 and 2 is 1 + 8

solution

<script type="text/javascript">
    function sumCubes(n){
        // console.log(n) 
        var sum = 0;
        for(var i =0;i<=n;i++){
            sum = sum + Math.pow(i,3);
        }   
        return sum
    }
    // 验证
    console.log(sumCubes(1));//1
    console.log(sumCubes(2));//9
    console.log(sumCubes(3));//36
</script>
【3】<7kyu>【Reverse the bits in an integer】

Write a function that reverses the bits in an integer.

For example, the number 417 is 110100001 in binary. Reversing the binary is 100001011 which is 267.

example

417 //267.

solution

<script type="text/javascript">
    function reverseBits (n) {
        console.log(n)
        var temp = n.toString(2).split('').reverse().join('');
        return parseInt(temp,2);
    }
    // 验证
    console.log(reverseBits(417));//267
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值