From d71bc022962d95241cb118ef2f235a48c8cf01e3 Mon Sep 17 00:00:00 2001 From: Márton Polgár <37218286+2colours@users.noreply.github.com> Date: Tue, 11 Nov 2025 03:38:53 +0100 Subject: Create ch-2.p --- challenge-346/2colours/prolog/ch-2.p | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 challenge-346/2colours/prolog/ch-2.p diff --git a/challenge-346/2colours/prolog/ch-2.p b/challenge-346/2colours/prolog/ch-2.p new file mode 100644 index 0000000000..7afa2f7d2f --- /dev/null +++ b/challenge-346/2colours/prolog/ch-2.p @@ -0,0 +1,18 @@ +:- use_module(library(dcg/basics)). +:- use_module(library(dcg/high_order)). + + +operator --> `*`. +operator --> `+`. +operator --> `-`. +operator --> ``. + +good_expression(Str, Target, Expression) :- + string_codes(Str, Str_Codes), + phrase(sequence(digit, operator, Str_Codes), Expression_Codes), + string_codes(Expression, Expression_Codes), + read_term_from_atom(Expression, Term, []), + Term =:= Target. + + +task(Str, Target, Expressions) :- findall(Expression, good_expression(Str, Target, Expression), Expressions). -- cgit