Skip to content

Commit 4e85644

Browse files
committed
Complete fibonacci challenge
1 parent 9b18661 commit 4e85644

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

fibonacci/fibonacci.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
const fibonacci = function() {
2-
1+
const fibonacci = function(n) {
2+
if (n < 0) {return "OOPS";}
3+
let x = 0, y = 1, z = 0;
4+
for (let i = 0; i < n; i++) {
5+
z = x + y; // x = 0, y = 1, z = 1
6+
x = y;
7+
y = z;
8+
}
9+
return x;
310
}
411

512
module.exports = fibonacci

fibonacci/fibonacci.spec.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,28 @@ describe('fibonacci', function() {
44
it('works', function() {
55
expect(fibonacci(4)).toEqual(3);
66
});
7-
xit('works', function() {
7+
it('works', function() {
88
expect(fibonacci(6)).toEqual(8);
99
});
10-
xit('works', function() {
10+
it('works', function() {
1111
expect(fibonacci(10)).toEqual(55);
1212
});
13-
xit('works', function() {
13+
it('works', function() {
1414
expect(fibonacci(15)).toEqual(610);
1515
});
16-
xit('works', function() {
16+
it('works', function() {
1717
expect(fibonacci(25)).toEqual(75025);
1818
});
19-
xit('doesn\'t accept negatives', function() {
19+
it('doesn\'t accept negatives', function() {
2020
expect(fibonacci(-25)).toEqual("OOPS");
2121
});
22-
xit('DOES accept strings', function() {
22+
it('DOES accept strings', function() {
2323
expect(fibonacci("1")).toEqual(1);
2424
});
25-
xit('DOES accept strings', function() {
25+
it('DOES accept strings', function() {
2626
expect(fibonacci("2")).toEqual(1);
2727
});
28-
xit('DOES accept strings', function() {
28+
it('DOES accept strings', function() {
2929
expect(fibonacci("8")).toEqual(21);
3030
});
3131
});

0 commit comments

Comments
 (0)