diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-06-23 00:32:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-23 00:32:53 +0100 |
| commit | f3cbcca1f85c1eb92caeb230b974f85602310fb7 (patch) | |
| tree | ff63e0a663377c04336ba6fd20a0641cadc9c792 | |
| parent | fb95fb775d81cc05ae77ac78e40b3f76c41c7a59 (diff) | |
| parent | 38c41024cea6cbce65b6d816a83a96982a5d4e24 (diff) | |
| download | perlweeklychallenge-club-f3cbcca1f85c1eb92caeb230b974f85602310fb7.tar.gz perlweeklychallenge-club-f3cbcca1f85c1eb92caeb230b974f85602310fb7.tar.bz2 perlweeklychallenge-club-f3cbcca1f85c1eb92caeb230b974f85602310fb7.zip | |
Merge pull request #12215 from HVukman/branch-for-challenge-326
Add files via upload
| -rw-r--r-- | challenge-326/hvukman/k/326_p1.k | 21 | ||||
| -rw-r--r-- | challenge-326/hvukman/k/326_p2.k | 12 | ||||
| -rw-r--r-- | challenge-326/hvukman/picolisp/perl326_p1.l | 21 | ||||
| -rw-r--r-- | challenge-326/hvukman/picolisp/perl326_p2.l | 11 |
4 files changed, 65 insertions, 0 deletions
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) + + 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 |
