【发布时间】:2015-12-09 19:39:37
【问题描述】:
这是我为计算 GCD 而编写的递归代码:
function gcd(n1, n2) {
if(n1<n2) {
return gcd(n1, n2-n1);
}
else if(n2<n1) {
return gcd(n1-n2,n2);
}
else{
return n1;
}
}
console.log(gcd(process.argv[2], process.argv[3]));
它给了我一个范围错误。知道为什么吗? :(
编辑:
我删除了标准输入并用随机数替换它,它工作正常。
我想知道为什么它第一次没有工作......
【问题讨论】:
-
什么是process.argv?
-
请阅读How to Ask。密切关注MCVE
-
假设这是一个 Node 应用程序,用于运行它的 exact 命令行是什么?
-
您可能正在调用一个参数为零。比函数永远不会成功
-
运行它的确切命令是:node "filename" 119 68
标签: javascript range greatest-common-divisor