我正在进行一项任务,我必须创建一个迭代和递归函数,读取两个数组(x_vals [i]和y_vals [i])并分别打印出GCD。递归和迭代函数的结果应该是相同的,否则一个或两个函数都会出错。以下是我所拥有的。我无法理解的是该程序出了什么问题,例如为什么我的结果不匹配。
VSS.require(["VSS/Service", "VSS/Security/RestClient"],
function (Srv, SecAPI)
{
var SecClient = Srv.getCollectionClient(SecAPI.SecurityHttpClient);
SecClient.queryAccessControlLists("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee").then(function(a)
{
//...
});
}
答案 0 :(得分:1)
您在iterGCD
的回程位置错误:
while ((number <= x) && (number <= y)) {
++number;
if(x % number == 0 && y % number == 0) {
GCD = number;
}
return GCD; // <----------- wrong
}
在循环结束时,您将经历循环的单次迭代和return
。 循环之后将return
移动到:
while ((number <= x) && (number <= y)) {
++number;
if(x % number == 0 && y % number == 0) {
GCD = number;
}
}
return GCD; // <----------- move here