aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-117/adam-russell/blog.txt1
-rw-r--r--challenge-117/adam-russell/blog1.txt1
-rw-r--r--challenge-117/adam-russell/data14
-rw-r--r--challenge-117/adam-russell/prolog/ch-1.p43
-rw-r--r--challenge-117/adam-russell/prolog/ch-2.p0
5 files changed, 59 insertions, 0 deletions
diff --git a/challenge-117/adam-russell/blog.txt b/challenge-117/adam-russell/blog.txt
index e69de29bb2..8d8366bb72 100644
--- a/challenge-117/adam-russell/blog.txt
+++ b/challenge-117/adam-russell/blog.txt
@@ -0,0 +1 @@
+http://www.rabbitfarm.com/cgi-bin/blosxom/perl/2021/06/20
diff --git a/challenge-117/adam-russell/blog1.txt b/challenge-117/adam-russell/blog1.txt
index e69de29bb2..aae1cd44ec 100644
--- a/challenge-117/adam-russell/blog1.txt
+++ b/challenge-117/adam-russell/blog1.txt
@@ -0,0 +1 @@
+http://www.rabbitfarm.com/cgi-bin/blosxom/prolog/2021/06/20
diff --git a/challenge-117/adam-russell/data b/challenge-117/adam-russell/data
new file mode 100644
index 0000000000..5b9d9ab1ce
--- /dev/null
+++ b/challenge-117/adam-russell/data
@@ -0,0 +1,14 @@
+11, Line Eleven
+1, Line one
+9, Line Nine
+13, Line Thirteen
+2, Line two
+6, Line Six
+8, Line Eight
+10, Line Ten
+7, Line Seven
+4, Line Four
+14, Line Fourteen
+3, Line three
+15, Line Fifteen
+5, Line Five
diff --git a/challenge-117/adam-russell/prolog/ch-1.p b/challenge-117/adam-russell/prolog/ch-1.p
index e69de29bb2..3532217524 100644
--- a/challenge-117/adam-russell/prolog/ch-1.p
+++ b/challenge-117/adam-russell/prolog/ch-1.p
@@ -0,0 +1,43 @@
+:-initialization(main).
+
+check_and_read(10, [] ,_):-
+ !.
+check_and_read(13, [], _):-
+ !.
+check_and_read(44, [], _):-
+ !.
+check_and_read(end_of_file, [], _):-
+ !.
+check_and_read(Char, [Char|Chars], Stream):-
+ get_code(Stream, NextChar),
+ check_and_read(NextChar, Chars, Stream).
+
+read_data(Stream, []):-
+ at_end_of_stream(Stream).
+read_data(Stream, [X|L]):-
+ \+ at_end_of_stream(Stream),
+ get_code(Stream, Char),
+ check_and_read(Char, Chars, Stream),
+ atom_codes(X, Chars),
+ read_data(Stream, L).
+
+line_numbers([], []).
+line_numbers([N0,_|T], [N1|N]):-
+ number_atom(N1, N0),
+ line_numbers(T, N).
+
+missing(Contents, Missing):-
+ line_numbers(Contents, Numbers),
+ max_list(Numbers, Max),
+ min_list(Numbers, Min),
+ between(Min, Max, X),
+ \+ member(X, Numbers),
+ Missing = X.
+
+main:-
+ open('data', read, Stream),
+ read_data(Stream, Contents),
+ close(Stream),
+ missing(Contents, Missing),
+ format('Missing: ~d ~N', [Missing]),
+ halt.
diff --git a/challenge-117/adam-russell/prolog/ch-2.p b/challenge-117/adam-russell/prolog/ch-2.p
deleted file mode 100644
index e69de29bb2..0000000000
--- a/challenge-117/adam-russell/prolog/ch-2.p
+++ /dev/null