You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用带标签continue时,质数筛选代码非质数输入无输出问题排查

质数判断代码的问题修复
  • 核心问题:缺少输出语句
    你的代码仅完成了质数结果的字符串拼接,但没有添加将结果展示出来的逻辑(比如console.log或alert),导致无论输入质数还是非质数,都看不到输出内容——这是你输入非质数时无输出的直接原因。补上输出语句即可解决:

    // 在代码末尾添加输出逻辑
    console.log(prime);
    // 或者用弹窗展示
    alert(prime);
    
  • 质数判断逻辑的优化与修正

    1. 1不是质数,你的代码错误地将其纳入结果列表,需要调整外层循环起始值或排除1的判断;
    2. 内层循环从j=1开始再跳过j=1完全冗余,直接让j从2开始循环更高效;
    3. 内层循环无需遍历到i-1,遍历到Math.sqrt(i)即可——如果i是合数,必然存在一个因数小于等于自身的平方根,能大幅减少循环次数。
  • 修复后的完整代码

    const userNumber = +prompt('Insert number, please');
    let prime = 'These are the primes under your number: ';
    
    outerLoop: 
    for (let i = 2; i <= userNumber; i++) { // 从2开始,跳过非质数的1
        if (i === 2 || i === 3) {
            prime += `${i} `;
            continue;
        }    
    
        // 内层循环从2开始,到i的平方根结束
        for (let j = 2; j <= Math.sqrt(i); j++) {
            if (i % j === 0) continue outerLoop;
        } 
    
        prime += `${i} `;
    }    
    
    console.log(prime); // 输出结果
    

内容的提问来源于stack exchange,提问作者M Codet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:15:27