Compare commits
4 Commits
9d02464e9d
...
fe94193f97
Author | SHA1 | Date |
---|---|---|
NetMan | fe94193f97 | |
NetMan | f49cd7df96 | |
NetMan | 7c157bdc29 | |
NetMan | ad1ef473d6 |
|
@ -1,5 +1,18 @@
|
||||||
const fibonacci = function() {
|
const fibonacci = function(number) {
|
||||||
|
if (number == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (number < 0) {
|
||||||
|
return "OOPS";
|
||||||
|
}
|
||||||
|
let a = 1, b = 1;
|
||||||
|
let sum = a;
|
||||||
|
for (let i = 0;
|
||||||
|
i < number - 2;
|
||||||
|
i++, (i % 2 == 0) ? a = sum : b = sum) {
|
||||||
|
sum = a + b;
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Do not edit below this line
|
// Do not edit below this line
|
||||||
|
|
|
@ -4,34 +4,40 @@ describe('fibonacci', () => {
|
||||||
test('4th fibonacci number is 3', () => {
|
test('4th fibonacci number is 3', () => {
|
||||||
expect(fibonacci(4)).toBe(3);
|
expect(fibonacci(4)).toBe(3);
|
||||||
});
|
});
|
||||||
test.skip('6th fibonacci number is 8', () => {
|
test('6th fibonacci number is 8', () => {
|
||||||
expect(fibonacci(6)).toBe(8);
|
expect(fibonacci(6)).toBe(8);
|
||||||
});
|
});
|
||||||
test.skip('10th fibonacci number is 55', () => {
|
test('10th fibonacci number is 55', () => {
|
||||||
expect(fibonacci(10)).toBe(55);
|
expect(fibonacci(10)).toBe(55);
|
||||||
});
|
});
|
||||||
test.skip('15th fibonacci number is 610', () => {
|
test('15th fibonacci number is 610', () => {
|
||||||
expect(fibonacci(15)).toBe(610);
|
expect(fibonacci(15)).toBe(610);
|
||||||
});
|
});
|
||||||
test.skip('25th fibonacci number is 75025', () => {
|
test('25th fibonacci number is 75025', () => {
|
||||||
expect(fibonacci(25)).toBe(75025);
|
expect(fibonacci(25)).toBe(75025);
|
||||||
});
|
});
|
||||||
test.skip('0th fibonacci number is 0', () => {
|
test('1st fibonacci number is 1', () => {
|
||||||
|
expect(fibonacci(1)).toBe(1);
|
||||||
|
});
|
||||||
|
test('2nd fibonacci number is 1', () => {
|
||||||
|
expect(fibonacci(2)).toBe(1);
|
||||||
|
});
|
||||||
|
test('0th fibonacci number is 0', () => {
|
||||||
expect(fibonacci(0)).toBe(0);
|
expect(fibonacci(0)).toBe(0);
|
||||||
});
|
});
|
||||||
test.skip('doesn\'t accept negatives', () => {
|
test('doesn\'t accept negatives', () => {
|
||||||
expect(fibonacci(-25)).toBe("OOPS");
|
expect(fibonacci(-25)).toBe("OOPS");
|
||||||
});
|
});
|
||||||
test.skip('DOES accept strings', () => {
|
test('DOES accept strings', () => {
|
||||||
expect(fibonacci("0")).toBe(0);
|
expect(fibonacci("0")).toBe(0);
|
||||||
});
|
});
|
||||||
test.skip('DOES accept strings', () => {
|
test('DOES accept strings', () => {
|
||||||
expect(fibonacci("1")).toBe(1);
|
expect(fibonacci("1")).toBe(1);
|
||||||
});
|
});
|
||||||
test.skip('DOES accept strings', () => {
|
test('DOES accept strings', () => {
|
||||||
expect(fibonacci("2")).toBe(1);
|
expect(fibonacci("2")).toBe(1);
|
||||||
});
|
});
|
||||||
test.skip('DOES accept strings', () => {
|
test('DOES accept strings', () => {
|
||||||
expect(fibonacci("8")).toBe(21);
|
expect(fibonacci("8")).toBe(21);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue