EN
JavaScript - Fibonacci sequence / number
15 points
Fibonacci numbers can be computed in three ways:
- with an iterative algorithm,
- with a recursive algorithm,
- with Binet's formula.
Note: presented implementations calculate Fibonacci numbers from 0.
xxxxxxxxxx
1
function calculateValue(number) {
2
if(number < 1) {
3
return 0;
4
}
5
var a = 0;
6
var b = 1;
7
for (var i = 1; i < number; ++i) {
8
var c = a + b;
9
a = b;
10
b = c;
11
}
12
return b;
13
}
14
15
16
// Usage example:
17
18
for (var n = 0; n < 10; ++n) {
19
var value = calculateValue(n);
20
console.log('f(' + n + ')=' + value);
21
}
xxxxxxxxxx
1
function calculateValue(number) {
2
if(number < 1) return 0;
3
if(number < 2) return 1;
4
return calculateValue(number - 2) + calculateValue(number - 1);
5
}
6
7
8
// Usage example:
9
10
for (var n = 0; n < 10; ++n) {
11
var value = calculateValue(n);
12
console.log('f(' + n + ')=' + value);
13
}
xxxxxxxxxx
1
function calculateValue(number) {
2
var a = Math.pow(1 + 2.23606797749979, number);
3
var b = Math.pow(1 - 2.23606797749979, number);
4
var c = 2.23606797749979 * Math.pow(2, number);
5
return Math.round((a - b) / c);
6
}
7
8
9
// Usage example:
10
11
for (var n = 0; n < 10; ++n) {
12
var value = calculateValue(n);
13
console.log('f(' + n + ')=' + value);
14
}