51信用卡-前端-笔试编程题2

编程题第二题:

while(input = readline()) {
    print(myfunction(str));
}

function myfunction(input) {
    var max = Math.abs(input[0]);
    var result = [];
    for (var i = 0; i < input.length; i++) {
        if (max < Math.abs(input[i])) {
            max = Math.abs(input[i]);
        }
    }

    for (var k = 2; k <= max; ++k) {
        var sum = 0;
        var flag = 0;
        if (!isPrime(k)) {   // 非素数,跳出当前判断,直接判断下一个数
            continue;
        }
        for (var j = 0; j < input.length; ++j) {
            if (input[j] % k == 0) {
                flag = 1;
                sum += input[j];  // 数字的质因数包括k,则将该数值加到sum中去
            }
        }
        if (flag == 1) {result.push(k,sum);}
    }
    return result;
}

function isPrime(x) {
    var top = Math.sqrt(x);
    for (var i = 2; i <= top; i++) {
        if (x % i == 0) {
            return false;
        }
    }
    return true;
}

修改了 。这样的 输入输出对不对?

#内推##春招##实习##笔试题目##笔经##前端#
全部评论
我觉得应该是你的输出有问题吧, if(flag){result.push([j,sum]);}和if(flag){result.push(j,sum);}不一样的
点赞 回复 分享
发布于 2018-05-08 20:51
同楼主,编辑器上结果明明正确,通过率为零
点赞 回复 分享
发布于 2018-05-08 16:33
你没定义checkdup?
点赞 回复 分享
发布于 2018-05-07 23:25
输出是print啊
点赞 回复 分享
发布于 2018-05-07 23:08
为啥子是0通过率呢?
点赞 回复 分享
发布于 2018-05-07 23:07

相关推荐

09-08 20:19
门头沟学院 Java
如标题所见,想问一下27届大三想找实习9月份到10月份的机会多嘛?害怕错过最好的时机,鼠鼠也想占一个实习的好坑位
牛客20646354...:第一份实习还是看运气吧,我当时第一段实习靠点评和外卖找了好久才找到的。有了第一段后面就好找一些了,万事开头难
不给转正的实习,你还去吗
点赞 评论 收藏
分享
07-27 16:41
门头沟学院 Java
程序员小白条:学历和简历问题,你想走开发,现在很难的啦,尤其后端方向很难走,前端、测开,都会好很多,另外要等8月底和9月初去投日常
点赞 评论 收藏
分享
08-08 11:34
深圳大学 C++
点赞 评论 收藏
分享
评论
1
18
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务