aboutsummaryrefslogtreecommitdiff
path: root/entries/ionathanch
diff options
context:
space:
mode:
Diffstat (limited to 'entries/ionathanch')
-rw-r--r--entries/ionathanch/Fib.agda (renamed from entries/ionathanch/agda/Fib.agda)0
-rw-r--r--entries/ionathanch/fib.f9021
2 files changed, 21 insertions, 0 deletions
diff --git a/entries/ionathanch/agda/Fib.agda b/entries/ionathanch/Fib.agda
index a12b0a5..a12b0a5 100644
--- a/entries/ionathanch/agda/Fib.agda
+++ b/entries/ionathanch/Fib.agda
diff --git a/entries/ionathanch/fib.f90 b/entries/ionathanch/fib.f90
new file mode 100644
index 0000000..3cf1850
--- /dev/null
+++ b/entries/ionathanch/fib.f90
@@ -0,0 +1,21 @@
+PROGRAM main
+ ! The 93rd Fibonacci number is the largest that fits in 64 bits anyway
+ CHARACTER(3) :: kth
+ INTEGER :: k
+ CALL get_command_argument(1, kth)
+ READ(kth, *) k
+ WRITE(*, *) fib(k)
+CONTAINS
+
+PURE RECURSIVE INTEGER*8 FUNCTION fib(k) RESULT(n)
+ INTEGER, INTENT (IN) :: k
+ IF (k == 0) THEN
+ n = 0
+ ELSE IF (k == 1) THEN
+ n = 1
+ ELSE
+ n = fib(k - 1) + fib(k - 2)
+ END IF
+END FUNCTION fib
+
+END PROGRAM