diff options
author | Braxton Hall | 2022-10-27 20:54:39 +0000 |
---|---|---|
committer | GitHub | 2022-10-27 20:54:39 +0000 |
commit | 3d3a66b5b4c23c5acd1dbde12957191e224849b1 (patch) | |
tree | d36a6b9387d69a49f57087532a0192ec6356b84c /entries | |
parent | 0c016d787b18f2e0ccba2892067e6ab0c4bb30ad (diff) | |
parent | 0c3a8d355afe70a3ba593fc3f1ead665abf5bb09 (diff) |
Merge branch 'main' into main
Diffstat (limited to 'entries')
-rw-r--r-- | entries/kekerr/fib.ts | 16 | ||||
-rw-r--r-- | entries/nwoeanhinnogaehr/fib.asm | 12 | ||||
-rw-r--r-- | entries/patricebelleville/fib.py | 13 |
3 files changed, 35 insertions, 6 deletions
diff --git a/entries/kekerr/fib.ts b/entries/kekerr/fib.ts new file mode 100644 index 0000000..cc42fcf --- /dev/null +++ b/entries/kekerr/fib.ts @@ -0,0 +1,16 @@ +function fibonacci(n: number): string { + if (n <= 0) { + return "Surely that's a mistake! We can't give you anything interesting!"; + } + + if (n == 1) { + return "This one's easy: [1]"; + } + + const seq = [1, 1]; + for(let i = 2; i < n; i++) { + seq.push(seq[i-1] + seq[i-2]); + } + + return "Fibonacci this: " + seq.toString(); +} diff --git a/entries/nwoeanhinnogaehr/fib.asm b/entries/nwoeanhinnogaehr/fib.asm index 26ccf11..729958f 100644 --- a/entries/nwoeanhinnogaehr/fib.asm +++ b/entries/nwoeanhinnogaehr/fib.asm @@ -25,25 +25,25 @@ entry: loop: mov eax,esi push 10 - pop ebp - push ebp - jmp format + mov ecx,esp + jmp skip dw $20 ; e_phentsize dw 1 ; e_phnum +skip: + pop ebp format: cdq div ebp inc ebx - dec esp + dec ecx or edx,'0' - mov [esp],dl + mov [ecx],dl test eax,eax jnz format print: mov al,4 - mov ecx,esp mov edx,ebx mov bl,1 int 0x80 diff --git a/entries/patricebelleville/fib.py b/entries/patricebelleville/fib.py new file mode 100644 index 0000000..767ce11 --- /dev/null +++ b/entries/patricebelleville/fib.py @@ -0,0 +1,13 @@ +def fibonacci(n): + return fib_helper(n, 0, 1) + +def fib_helper(n, prev, curr): + # Base cases + if n < 0: + raise ValueError('Negative argument to fibonnaci') + if n == 0: + return prev + if n == 1: + return curr + return fib_helper(n-1, curr, prev + curr) + |