aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--entries/jj/nim/fib.nim17
-rw-r--r--people.json33
2 files changed, 39 insertions, 11 deletions
diff --git a/entries/jj/nim/fib.nim b/entries/jj/nim/fib.nim
new file mode 100644
index 0000000..a12f8e6
--- /dev/null
+++ b/entries/jj/nim/fib.nim
@@ -0,0 +1,17 @@
+func fib(n: Natural): Natural =
+ if n < 2:
+ return n
+ else:
+ return fib(n-1) + fib(n-2)
+
+func fib2(n: int, a = 0, b = 1): int =
+ return if n == 0: a else: fib2(n-1, b, a+b)
+
+iterator fib3: int =
+ var a = 0
+ var b = 1
+ while true:
+ yield a
+ swap a, b
+ b += a
+
diff --git a/people.json b/people.json
index de7ea5b..0d42b90 100644
--- a/people.json
+++ b/people.json
@@ -554,15 +554,26 @@
}
]
},
- {
- "github": "cc-21",
- "name": "Madonna H",
- "title": "lazy",
- "entries": [
- {
- "name": "a buggy fib",
- "link": "./entries/cc-21/fib.java"
- }
- ]
- }
+ {
+ "github": "cc-21",
+ "name": "Madonna H",
+ "title": "lazy",
+ "entries": [
+ {
+ "name": "a buggy fib",
+ "link": "./entries/cc-21/fib.java"
+ }
+ ]
+ },
+ {
+ "github": "j-james",
+ "name": "JJ",
+ "title": "BSc, UBC",
+ "entries": [
+ {
+ "name": "nim",
+ "link": "./entries/jj/nim/fib.nim"
+ }
+ ]
+ }
]