8000 finish task 10 · daygoDao/javascript-exercises@0766e2f · GitHub
[go: up one dir, main page]

Skip to content

Commit 0766e2f

Browse files
committed
finish task 10
1 parent cfb9efd commit 0766e2f

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

10_fibonacci/fibonacci.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1-
const fibonacci = function() {
2-
1+
const fibonacci = function(num) {
2+
if(num < 0) return 'OOPS'
3+
if(num == 0) return 0;
4+
if(num < 3) return 1;
5+
let prev = 1;
6+
let curr = 2;
7+
for(i = 3; i < num; i++){
8+
let temp = prev;
9+
prev = curr;
10+
curr = temp + curr;
11+
}
12+
return curr;
313
};
414

515
// Do not edit below this line

10_fibonacci/fibonacci.spec.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,34 @@ describe('fibonacci', () => {
44
test('4th fibonacci number is 3', () => {
55
expect(fibonacci(4)).toBe(3);
66
});
7-
test.skip('6th fibonacci number is 8', () => {
7+
test('6th fibonacci number is 8', () => {
88
expect(fibonacci(6)).toBe(8);
99
});
10-
test.skip('10th fibonacci number is 55', () => {
10+
test('10th fibonacci number is 55', () => {
1111
expect(fibonacci(10)).toBe(55);
1212
});
13-
test.skip('15th fibonacci number is 610', () => {
13+
test('15th fibonacci number is 610', () => {
1414
expect(fibonacci(15)).toBe(610);
1515
});
16-
test.skip('25th fibonacci number is 75025', () => {
16+
test('25th fibonacci number is 75025', () => {
1717
expect(fibonacci(25)).toBe(75025);
1818
});
19-
test.skip('0th fibonacci number is 0', () => {
19+
test('0th fibonacci number is 0', () => {
2020
expect(fibonacci(0)).toBe(0);
2121
});
22-
test.skip('doesn\'t accept negatives', () => {
22+
test('doesn\'t accept negatives', () => {
2323
expect(fibonacci(-25)).toBe("OOPS");
2424
});
25-
test.skip('DOES accept strings', () => {
25+
test('DOES accept strings', () => {
2626
expect(fibonacci("0")).toBe(0);
2727
});
28-
test.skip('DOES accept strings', () => {
28+
test('DOES accept strings', () => {
2929
expect(fibonacci("1")).toBe(1);
3030
});
31-
test.skip('DOES accept strings', () => {
31+
test('DOES accept strings', () => {
3232
expect(fibonacci("2")).toBe(1);
3333
});
34-
test.skip('DOES accept strings', () => {
34+
test('DOES accept strings', () => {
3535
expect(fibonacci("8")).toBe(21);
3636
});
3737
});

0 commit comments

Comments
 (0)
0