From 36716245f52e05a5789086ad0233086dfc197e37 Mon Sep 17 00:00:00 2001 From: HVukman Date: Sun, 22 Jun 2025 09:11:50 +0200 Subject: Add files via upload --- challenge-326/hvukman/k/326_p1.k | 21 +++++++++++++++++++++ challenge-326/hvukman/k/326_p2.k | 12 ++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 challenge-326/hvukman/k/326_p1.k create mode 100644 challenge-326/hvukman/k/326_p2.k diff --git a/challenge-326/hvukman/k/326_p1.k b/challenge-326/hvukman/k/326_p1.k new file mode 100644 index 0000000000..7c71277df2 --- /dev/null +++ b/challenge-326/hvukman/k/326_p1.k @@ -0,0 +1,21 @@ +div4: {(0=100!x ;4!x)} +first: {2=+/1 0 = (div4 x)} +second: {0=400!x} +check: {(first x;second x)} + +// if divisible by 400 or by 4 +// 0<+/check 2002 +// 0<+/check 2000 + +nonleap: 31 28 31 30 31 30 31 31 30 31 30 31 +leap: 31 29 31 30 31 30 31 31 30 31 30 31 + +date:.'"-"\"2025-02-02" +day: {$[ 0<+/check x[0];(+/(x[1]-12+1)_leap)+x[2];(+/(x[1]-12+1)_nonleap)+x[2] ]} +day date + +date:.'"-"\"2025-04-10" +day date + +date:.'"-"\"2025-09-07" +day date diff --git a/challenge-326/hvukman/k/326_p2.k b/challenge-326/hvukman/k/326_p2.k new file mode 100644 index 0000000000..7991293e1f --- /dev/null +++ b/challenge-326/hvukman/k/326_p2.k @@ -0,0 +1,12 @@ +decompress: {x[0]#x[1]} +"ex 1" +ints: 1 3 2 4 +{decompress x}'(2 2 # ints) +"ex 2" +ints2: 1 1 2 2 +{decompress x}'(2 2 # ints2) +"ex 3" +ints3: 3 1 3 2 +{decompress x}'(2 2 # ints3) + + -- cgit From 38c41024cea6cbce65b6d816a83a96982a5d4e24 Mon Sep 17 00:00:00 2001 From: HVukman Date: Sun, 22 Jun 2025 10:23:37 +0200 Subject: Add files via upload --- challenge-326/hvukman/picolisp/perl326_p1.l | 21 +++++++++++++++++++++ challenge-326/hvukman/picolisp/perl326_p2.l | 11 +++++++++++ 2 files changed, 32 insertions(+) create mode 100644 challenge-326/hvukman/picolisp/perl326_p1.l create mode 100644 challenge-326/hvukman/picolisp/perl326_p2.l diff --git a/challenge-326/hvukman/picolisp/perl326_p1.l b/challenge-326/hvukman/picolisp/perl326_p1.l new file mode 100644 index 0000000000..cbcf01577f --- /dev/null +++ b/challenge-326/hvukman/picolisp/perl326_p1.l @@ -0,0 +1,21 @@ +(setq leap '(31 29 31 30 31 30 31 31 30 31 30 31)) +(setq nonleap '(31 28 31 30 31 30 31 31 30 31 30 31)) + + + +(de which_day (X) +(let (formatted (mapcar format (mapcar pack (split (chop X) "-"))) + year (car formatted) + month (cadr formatted) + day (caddr formatted) + ) + (if (or (= 0 (% year 400)) (and (= 0 (% year 4) (not (= 0 (% year 100))) ))) + (prinl (+ (apply + (head (- month 1) leap)) day) ) + (prinl (+ (apply + (head (- month 1) nonleap)) day) ) + ) +) +) + +(which_day "2025-02-02") +(which_day "2025-04-10") +(which_day "2025-09-07") \ No newline at end of file diff --git a/challenge-326/hvukman/picolisp/perl326_p2.l b/challenge-326/hvukman/picolisp/perl326_p2.l new file mode 100644 index 0000000000..e41c130e06 --- /dev/null +++ b/challenge-326/hvukman/picolisp/perl326_p2.l @@ -0,0 +1,11 @@ + +(de decomp (X) +(make +(link (make (do (car (nth X 1)) (link (car (nth X 2)))))) +(link (make (do (car (nth X 3)) (link (car (nth X 4)))))) +) +) + +(decomp '(1 3 2 4)) +(decomp '(1 1 2 2)) +(decomp '(3 1 3 2)) \ No newline at end of file -- cgit