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

Node.js整除判断函数未通过校验求助:A、B整除性任务排查

排查你的Node.js代码问题

我帮你找出了几个导致校验不通过的关键问题,咱们一个个说:

1. 命令行参数获取错误

process.argv的结构你搞混了:

  • process.argv[0]:Node.js的执行路径(比如/usr/local/bin/node)
  • process.argv[1]:你的脚本文件名(比如task.js)
  • 真正的用户输入参数是从process.argv[2]开始的

你现在用process.argv[1]和process.argv[2]传参,相当于把脚本名和第一个输入参数丢进了函数,完全不符合要求!

2. 参数类型未转换

从process.argv拿到的参数都是字符串类型,虽然JS里字符串做取模运算偶尔能得到结果,但严格来说必须转成整数,避免潜在的类型错误。

3. 函数返回值不符合要求

你的函数里写的是return console.log(true),但console.log()本身的返回值是undefined,所以你的函数实际返回的不是要求的布尔值true/false,而是undefined。校验器大概率是在检查函数的返回值,而不是控制台输出。


修正后的代码

function notDivide(a, b) {
  // 实现逻辑:B不整除A 且 A不整除B(匹配你的示例需求)
  return (a % b !== 0) && (b % a !== 0);
}

// 获取正确的参数并转换为整数
const A = parseInt(process.argv[2]);
const B = parseInt(process.argv[3]);

// 调用函数并打印结果(满足控制台输出要求)
console.log(notDivide(A, B));

咱们验证示例场景:执行node task.js 5 3,A=5、B=3,5%3=2≠0且3%5=3≠0,返回true,完全符合预期。

再测试几个边界情况:

  • 输入node task.js 4 2:4能被2整除,返回false
  • 输入node task.js 6 4:6%4=2≠0、4%6=4≠0,返回true

这样应该就能通过校验器的检测了。

内容的提问来源于stack exchange,提问作者N.Gr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:48:35