Javascript 使用结果并将其作为新参数传递的函数

Javascript function that uses result and passes it as new argument

我想使用 Javascript 编写一个函数,returns 来自控制台中一系列计算的结果。 运行 时的函数接受一个数字 N 并对其进行一些数学运算,然后获取结果并将其传递给相同的函数产生另一个结果,然后获取该结果并做同样的事情,并重复直到达到 1 或 0。基本上,它需要一个初始数字,N ,产生一个答案,然后采用该答案并将其用作新的 N,如此重复直到 N === 1 || 0.

目前,我只得到第一个结果,并且打印了 N 次。

N = 350;

Current output:
50
50
50
50
50
50
... 344 items left

Expected output:

50
7
1

如何获取结果 50,并将其作为 N 的新参数传递并重复此操作?

函数:

let N = 350;

function compute(N) {
  for (var i = 1; i < N; i++) {
    let rS = N / 3.5;
    let result = rS / 2;
    let rounded = Math.round(result);

    if (rounded === 1 || 0) {
      console.log(rounded);
    } else {
      console.log(`N = ${result}`)
    }
  }
  return null;
}

return factor(N);
let rs = N / 3.5;
let result = rS / 2; // Doing this is exactly the same as dividing by 7 since the `rS` variable isn't used anywhere else in the function

rounded === 1 || 0 // 这个条件没有意义,因为如果 rounded === 1 失败,其他 0 仍然等于 0 而你应该使用 rounded >= 0 && rounded < 2rounded == 1 || rounded == 0

当您不使用 i 变量的值时,我也没有看到使用 for 循环

您可以将结果用作函数的新参数。通过使用结果再次调用该函数。像这样的函数称为递归函数。

let N = 350;

function compute(N) {
    const result = N / 7;
    const rounded = Math.floor(result);
    
    console.log(rounded);
    if (rounded >= 0 && rounded < 2) return rounded;
    else compute(result);
}

compute(N);