diff options
| author | Adam Russell <ac.russell@live.com> | 2021-04-18 14:05:19 -0400 |
|---|---|---|
| committer | Adam Russell <ac.russell@live.com> | 2021-04-18 14:05:19 -0400 |
| commit | 712a92aab5fa6d393c1b54cc96a04fcb8d6c50c3 (patch) | |
| tree | f02b02a70842227d57cadefcf057b6046ea272cb | |
| parent | 920c84164ce468c7fb5e6c7efc208160adcf5404 (diff) | |
| download | perlweeklychallenge-club-712a92aab5fa6d393c1b54cc96a04fcb8d6c50c3.tar.gz perlweeklychallenge-club-712a92aab5fa6d393c1b54cc96a04fcb8d6c50c3.tar.bz2 perlweeklychallenge-club-712a92aab5fa6d393c1b54cc96a04fcb8d6c50c3.zip | |
Prolog solution and blog1.txt.
| -rw-r--r-- | challenge-108/adam-russell/blog1.txt | 1 | ||||
| -rw-r--r-- | challenge-108/adam-russell/prolog/ch-1.p | 0 | ||||
| -rw-r--r-- | challenge-108/adam-russell/prolog/ch-2.p | 32 |
3 files changed, 33 insertions, 0 deletions
diff --git a/challenge-108/adam-russell/blog1.txt b/challenge-108/adam-russell/blog1.txt new file mode 100644 index 0000000000..d62efd8d9c --- /dev/null +++ b/challenge-108/adam-russell/blog1.txt @@ -0,0 +1 @@ +http://www.rabbitfarm.com/cgi-bin/blosxom/prolog/2021/04/18 diff --git a/challenge-108/adam-russell/prolog/ch-1.p b/challenge-108/adam-russell/prolog/ch-1.p deleted file mode 100644 index e69de29bb2..0000000000 --- a/challenge-108/adam-russell/prolog/ch-1.p +++ /dev/null diff --git a/challenge-108/adam-russell/prolog/ch-2.p b/challenge-108/adam-russell/prolog/ch-2.p index e69de29bb2..fc84bee3fa 100644 --- a/challenge-108/adam-russell/prolog/ch-2.p +++ b/challenge-108/adam-russell/prolog/ch-2.p @@ -0,0 +1,32 @@ +:-initialization(main). + +addElement(Element, [FirstList | OtherLists], [ [Element|FirstList] | OtherLists]). +addElement(Element, [FirstList | OtherLists], [ FirstList | Temp] ):- + addElement(Element, OtherLists, Temp). + +partition([Single], [[Single]]). +partition([First|Others], [[First] | Result]) :- + partition(Others, Result). +partition([First|Others], Result) :- + partition(Others, Temp), + addElement(First, Temp, Result). + +bell_numbers(N):- + \+ N == 0, + N < 10, + length(L0, N), + setof(P, partition(L0, P), Partitions), + length(Partitions, L), + write('B_'), write(N), write(': '), write(L), nl, + N0 is N + 1, + bell_numbers(N0). +bell_numbers(N):- + N == 0, + write('B_'), write(N), write(': '), write(1), nl, + N0 is N + 1, + bell_numbers(N0). +bell_numbers(_). + +main:- + bell_numbers(0), + halt. |
