done fibonacci exercise
This commit is contained in:
parent
0513964dd5
commit
be6251ecc4
|
@ -1,4 +1,23 @@
|
||||||
const fibonacci = function() {
|
const fibonacci = function(fiboThis) { //4
|
||||||
|
|
||||||
|
let arrayPosition = [];
|
||||||
|
|
||||||
|
if (fiboThis <= 0) {
|
||||||
|
//console.log("OOPS");
|
||||||
|
return "OOPS";
|
||||||
|
} else {
|
||||||
|
for (let i = 0; i < fiboThis; i++) {
|
||||||
|
if (i === 0) {
|
||||||
|
arrayPosition.push(1);
|
||||||
|
} else if (i === 1) {
|
||||||
|
arrayPosition.push(1);
|
||||||
|
} else {
|
||||||
|
arrayPosition.push(arrayPosition[i - 2] + arrayPosition[i - 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// console.log(arrayPosition);
|
||||||
|
return arrayPosition.pop();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,22 +4,22 @@ describe('fibonacci', function() {
|
||||||
it('works', function() {
|
it('works', function() {
|
||||||
expect(fibonacci(4)).toEqual(3);
|
expect(fibonacci(4)).toEqual(3);
|
||||||
});
|
});
|
||||||
xit('works', function() {
|
it('works', function() {
|
||||||
expect(fibonacci(6)).toEqual(8);
|
expect(fibonacci(6)).toEqual(8);
|
||||||
});
|
});
|
||||||
xit('works', function() {
|
it('works', function() {
|
||||||
expect(fibonacci(10)).toEqual(55);
|
expect(fibonacci(10)).toEqual(55);
|
||||||
});
|
});
|
||||||
xit('works', function() {
|
it('works', function() {
|
||||||
expect(fibonacci(15)).toEqual(610);
|
expect(fibonacci(15)).toEqual(610);
|
||||||
});
|
});
|
||||||
xit('works', function() {
|
it('works', function() {
|
||||||
expect(fibonacci(25)).toEqual(75025);
|
expect(fibonacci(25)).toEqual(75025);
|
||||||
});
|
});
|
||||||
xit('doesn\'t accept negatives', function() {
|
it('doesn\'t accept negatives', function() {
|
||||||
expect(fibonacci(-25)).toEqual("OOPS");
|
expect(fibonacci(-25)).toEqual("OOPS");
|
||||||
});
|
});
|
||||||
xit('DOES accept strings', function() {
|
it('DOES accept strings', function() {
|
||||||
expect(fibonacci("8")).toEqual(21);
|
expect(fibonacci("8")).toEqual(21);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script src="test.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,23 @@
|
||||||
|
function fibonacci (fiboThis) {
|
||||||
|
|
||||||
|
let arrayPosition = [];
|
||||||
|
|
||||||
|
// console.log(fiboThis);
|
||||||
|
if (fiboThis <= 0) {
|
||||||
|
console.log("OOPS");
|
||||||
|
} else {
|
||||||
|
for (let i = 0; i < fiboThis; i++) {
|
||||||
|
// insert arrayPosition1,1,2,3 into array
|
||||||
|
if (i === 0) {
|
||||||
|
arrayPosition.push(1);
|
||||||
|
} else if (i === 1) {
|
||||||
|
arrayPosition.push(1);
|
||||||
|
} else {
|
||||||
|
arrayPosition.push(arrayPosition[i - 2] + arrayPosition[i - 1]); // p2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(arrayPosition.pop());
|
||||||
|
|
||||||
|
}
|
||||||
|
fibonacci(4);
|
Loading…
Reference in New Issue