diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-01-29 20:58:18 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-29 20:58:18 +0000 |
| commit | c85d197b0431ddf47feebfe7385b0a0b04f73da6 (patch) | |
| tree | ca5c3071b9d70f3cfd9acca209e3b028d1d08d4d | |
| parent | 9f01445472e1d7726cb68927820e322d56ca3142 (diff) | |
| parent | 90814ffa981bd46b25b7c3b191f57948d09d19f9 (diff) | |
| download | perlweeklychallenge-club-c85d197b0431ddf47feebfe7385b0a0b04f73da6.tar.gz perlweeklychallenge-club-c85d197b0431ddf47feebfe7385b0a0b04f73da6.tar.bz2 perlweeklychallenge-club-c85d197b0431ddf47feebfe7385b0a0b04f73da6.zip | |
Merge pull request #11507 from 2colours/branch-for-challenge-306
Branch for challenge 306
| -rw-r--r-- | challenge-306/2colours/prolog/ch-1.p | 13 | ||||
| -rw-r--r-- | challenge-306/2colours/prolog/ch-2.p | 18 |
2 files changed, 31 insertions, 0 deletions
diff --git a/challenge-306/2colours/prolog/ch-1.p b/challenge-306/2colours/prolog/ch-1.p new file mode 100644 index 0000000000..0e90897a5d --- /dev/null +++ b/challenge-306/2colours/prolog/ch-1.p @@ -0,0 +1,13 @@ +:- use_module(library(clpfd)). + +task1(Ints, Result) :- + length(Ints, Max_L), + findall(Sum, ( + N in 1..Max_L, + N mod 2 #= 1, + indomain(N), + length(SA, N), + append([_Prefix, SA, _Suffix], Ints), + sum_list(SA, Sum) + ), Sums), + sum_list(Sums, Result). diff --git a/challenge-306/2colours/prolog/ch-2.p b/challenge-306/2colours/prolog/ch-2.p new file mode 100644 index 0000000000..465532d012 --- /dev/null +++ b/challenge-306/2colours/prolog/ch-2.p @@ -0,0 +1,18 @@ +game([], 0). +game([Last_Remaining], Last_Remaining). +game(List, Result) :- + length(List, N), N > 1, + max_list(List, Max1), + once(select(Max1, List, Rest)), + max_list(Rest, Max2), + once(nth0(Pos2, Rest, Max2, Rest2)), + Diff is Max1 - Max2, + (Diff =:= 0 -> + game(Rest2, Result) + ; + true -> + nth0(Pos2, New_List, Diff, Rest2), + game(New_List, Result) + ). + +task2(Ints, Result) :- game(Ints, Result), !. |
