Algorithm to Sum The Fibonacci Numbers

  • 时间:2020-09-07 12:13:31
  • 分类:网络文摘
  • 阅读:133 次

The Fibonacci numbers are defined as the following sequence, with the current item is the sum of the previous two items.

F(1) = 0
F(2) = 1
F(N) = F(N – 1) + F(N – 2) for N >= 3

latex-fibonacci Algorithm to Sum The Fibonacci Numbers algorithms javascript math

Fibonacci Equation

The first few Fibonacci numbers are: 0, 1, 1, 2, 3, 5, 8, 13, 21…

Of course, it is trivial to write a loop to sum the Fibonacci numbers of first N items.

1
2
3
4
5
6
7
8
9
10
11
12
function sumOfFib(n) {
  let a = 0;
  let b = 1;
  let sum = 0;
  for (let i = 1; i < n; ++ i) {
     let c = a + b;
     a = b;
     b = c;
     sum += a;
  }
  return sum;
}
function sumOfFib(n) {
  let a = 0;
  let b = 1;
  let sum = 0;
  for (let i = 1; i < n; ++ i) {
     let c = a + b;
     a = b;
     b = c;
     sum += a;
  }
  return sum;
}

Let’s define the S function the sum of first few Fibonacci numbers:

S(1) = F(1) = 0
S(2) = F(1) + F(2) = 1
S(3) = F(1) + F(2) + F(3) = 2
S(4) = F(1) + F(2) + F(3) + F(4) = 4
S(5) = F(1) + F(2) + F(3) + F(4) + F(5) = 7

We notice that
tex_882caded33c9e36a815c7993cab7dd7e Algorithm to Sum The Fibonacci Numbers algorithms javascript math

For example:
S(4) = F(6) – 1 = 5 – 1 = 4
S(3) = F(5) – 1 = 3 – 1 = 2

Using Induction to Prove the Fibonancci Sum Formula

S(1) = 0
S(2) = 1
Assume S(N) = F(N+2) – 1 stands.
S(N+1) = S(N) + F(N+1)
= F(N+2) + F(N+1) – 1
= F(N+3) – 1
And it also works for N+1!

Cancel Out the Fibonacci Numbers

We can rewrite the Fibonacci Formula as F(N) = F(N + 2) – F(N + 1).
Therefore, tex_5b0d46d6ed6c9aa9118a4410e5e8db3a Algorithm to Sum The Fibonacci Numbers algorithms javascript math
= F(2) – F(1) + F(3) – F(2) + F(4) – F(3) + …. F(N + 2) – F(N + 1)
Intermediate items are canceled out:
= F(N + 2) – F(1) = F(N + 2) – 1
How cool is that!

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
Local Marketing Strategies: Five Tips for Lead Generation You Ca  How to Make Money from Blogging as a Small Business  6 Reasons Why Your WordPress Blog Is Getting Hacked  When to Revise Your Content Marketing Strategy  How To Develop Copywriting Skills To Engage Your Blog Readers  Five Tips to Lower Your Tax Bill in 2020  Bruteforce Algorithm to Compute the Maxmium Powerful Digit Sum u  4 Frequently Discussed SEO Myths Exposed  3 Reasons Why Graphic Designers Need to Self-Promote through Ins  How to Split a String in C++? 
评论列表
添加评论