Languages
[Edit]
EN

JavaScript - Fibonacci sequence / number

12 points
Created by:
Kate_C
2857

Fibonacci numbers can be computed in three ways:

  1. with iterative algorithm,
  2. with recursive algorithm,
  3. with Binet's formula.

Note: presented implementations calculate Fibonacci numbers from 0.

1. Iterative algorithm example

// ONLINE-RUNNER:browser;

function calculateValue(number) {
  	if(number < 1) {
    	return 0;
    }
    var a = 0;
    var b = 1;
    for (var i = 1; i < number; ++i) {
		var c = a + b;
      	a = b;
      	b = c;
    }
    return b;
}

// Example:

for (var n = 0; n < 10; ++n) {
    var value = calculateValue(n);
    console.log('f(' + n + ')=' + value);
}

2. Recursive algorithm example

// ONLINE-RUNNER:browser;

function calculateValue(number) {
  if(number < 1) return 0;
  if(number < 2) return 1;
  return calculateValue(number - 2) + calculateValue(number - 1);
}

// Example:

for (var n = 0; n < 10; ++n) {
    var value = calculateValue(n);
    console.log('f(' + n + ')=' + value);
}

3. Binet's formula example

// ONLINE-RUNNER:browser;

function calculateValue(number) {
    var a = Math.pow(1 + 2.23606797749979, number);
    var b = Math.pow(1 - 2.23606797749979, number);
    var c = 2.23606797749979 * Math.pow(2, number);
    return Math.round((a - b) / c);
}

// Example:

for (var n = 0; n < 10; ++n) {
    var value = calculateValue(n);
    console.log('f(' + n + ')=' + value);
}

References

  1. Binet's Fibonacci number formula - Wikipedia
Hey 👋
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.