JavaScript 偶数斐波那契项的总和

JavaScript 偶数斐波那契项的总和

在给定的问题陈述中,我们需要使用JavaScript的功能来计算偶数斐波那契数的总和。因此,为了解决这个任务,我们将使用语言的基本功能。

理解问题

现在要计算偶斐波那契数或者项的和,在斐波那契数的给定限制范围内。如你所知,斐波那契数列是一系列的数字,每个数字是前两个数字的和。这个序列通常从0和1开始。所以在这个问题中,我们的任务是计算一定范围内的偶数的总和。例如:如果斐波那契数列的范围是35。那么我们将先找出给定范围35内的斐波那契数。所以这些数字是1, 1, 2, 3, 5, 8, 13, 21, 34…. 所以偶数的和是2 + 8 + 34 = 44。在这里,44是在给定范围内斐波那契序列的偶数之和。

给定问题的逻辑

为了解决上述问题,我们将使用JavaScript来实现一个函数,该函数将生成斐波那契序列并计算偶数的总和。该函数将有一个limit变量作为输入,并定义斐波那契数字的最大值。然后,我们将初始化变量以跟踪总和、上一个数字和序列中的当前数字。然后,我们将使用一个循环来生成斐波那契数列,直到达到给定的限制。然后,我们将验证偶数的条件,并在接下来计算这些偶数的总和。最后,我们将返回斐波那契数列中偶数的总和,直到达到给定的限制。

步骤

步骤1 :如我们所知,在这个问题中我们要计算偶斐波那契项的总和。所以我们将定义一个名为sumEvenFibonacci的函数,并在该函数内部使用一个名为limit的变量作为参数。这个limit变量将是斐波那契数的最大值。

步骤2 :在定义函数之后,我们将使用三个变量,并将它们命名为sum、previous和current。这些变量将用于存储偶数的总和、系列中的前一个数和在循环中迭代的当前数,分别。

步骤3 :现在我们已经定义了在循环和计算总和中要使用的变量。在这个阶段,我们将使用一个循环来迭代系列的数字。循环的条件是循环在当前值小于或等于限制值时运行。

步骤4 :在这个循环中,我们将有另一个条件,即当前的数字是偶数还是奇数。如果数字是偶数,则将其添加到sum变量中。否则,跳出if条件并将当前值更改为系列中的下一个数字。

步骤5 :如果当前数字已超过限制值,则中断循环并返回总和的结果。

示例

// Calculate sum of even Fibonacci
function sumEvenFibonacci(limit) {
   let sum = 0;
   let previous = 0;
   let current = 1;

   while (current <= limit) {
     if (current % 2 === 0) {
      sum += current;
     }

     const next = previous + current;
     previous = current;
     current = next;
   }

   return sum;
  }

  const limit = 40000;
  const result = sumEvenFibonacci(limit);
  console.log(result);

输出

14328

复杂性

计算斐波那契数列中所有偶数的和的时间复杂度是O(n),其中n是序列中项数的上限。由于我们对斐波那契数列中的数字进行了一次迭代,因此我们可以说在此函数中执行的是恒定时间操作,因此时间复杂度是线性的。该函数的空间复杂度为O(1),因为我们只使用了固定量的内存来存储和。

结论

因此,在这个问题中,我们成功地用Javascript编写了计算斐波那契数列中偶数的和的程序。代码首先生成斐波那契数,然后检查偶数以获得和。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程