【问题标题】:Iterating using a quadratic sequence in Javascript在 Javascript 中使用二次序列进行迭代
【发布时间】:2021-03-21 03:27:55
【问题描述】:

我有一个二次序列,我需要用它来循环,但是,我不确定如何执行这种逻辑...我想使用二次序列来计数到给定的数字@987654321 @。问题是我必须给循环的二次序列一些数字来计数和迭代......我知道通过执行 i += 2 之类的操作可以迭代 2s、3s、4s 等,是否也可以使用二次表达式?有没有一种使用 Javascript 的方法可以让我遍历二次序列?我希望这很清楚,谢谢!

这是我的代码:

二次序列是控制台记录的序列。 前 14 项分别为:1,3,6,10,15,21,28,36,45,55,66,78,91,105

for (let i = 1; i <= 14; i++) {
      let a = i;
      let nthTerm = a - 1;
      let b = 1 / 2;
      let quadraticSequence = b * a ** 2 + b * a;
      
console.log(`${nthTerm} ${quadraticSequence}`);
      
const num = 93;

      // use quadratic sequence to count up to a number <= 93;
      for (i = 0; i <= num; i++quadraticSequence) {
        console.log(i);
      }
    }

结果应该 console.log 计数 0 > 105。我知道第二个 for 循环不正确,但我不太确定如何进行正确的尝试。

所以不是像 1,2,3,4,5,6,7,8,9... 那样计数,而是应该计数 1,3,6,10,15,21,28,36,45, 55...最终,我试图通过二次序列而不是通常的 1、2、3、4、5 序列来计数到给定的数字

【问题讨论】:

  • 你能更具体地说明你到底想要什么吗?如果你想遍历 1、4、9、16 等数字,只需使用常规 for 循环,然后使用 i 的平方。否则请让问题更清楚
  • 二次序列是console.logged的内容。这就是我要迭代的顺序。它开始,1、3、6、10、15、21、28、36等...有没有更简单的方法来产生这个序列?

标签: javascript loops for-loop sequence quadratic


【解决方案1】:
let num = 93;
for (let i = 1, j = 2; i < 100; i += j, j += 1) {
  console.log(i);
  for (let k = 0; k <= num; k += i) {
    console.log(k);
  }
}

这将产生序列 1, 3, 6, 10, 15, 21, 28, 36, ... 然后在单独的 for 循环中使用它们中的每一个作为步长。

另一种解释是将二次级数中的第 0 个元素用作第一步大小,将下一个元素用作下一步大小,等等。

for (let i = 1, j = 2, k = 0; k < 1000; k += i, i += j, j += 1) {
  console.log(`Current, step: ${k}, ${i}`);
}

应该这样做

【讨论】:

  • 好吧,我已经生成了序列...我试图遍历序列作为计数。我更新了问题并添加了更多详细信息。
  • 所以你想要当前的数字 1, 3, 6, ... 作为步长???
  • 是的。这可以实现吗?
  • 您能解释一下第二个 for 循环在您的答案中的作用吗?试图理解输出。
  • 因为当 n > 100 时,计数似乎没有给我大于 100 的数字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
  • 1970-01-01
  • 2022-01-19
  • 2021-01-19
相关资源
最近更新 更多