aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-06-23 00:32:53 +0100
committerGitHub <noreply@github.com>2025-06-23 00:32:53 +0100
commitf3cbcca1f85c1eb92caeb230b974f85602310fb7 (patch)
treeff63e0a663377c04336ba6fd20a0641cadc9c792
parentfb95fb775d81cc05ae77ac78e40b3f76c41c7a59 (diff)
parent38c41024cea6cbce65b6d816a83a96982a5d4e24 (diff)
downloadperlweeklychallenge-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.k21
-rw-r--r--challenge-326/hvukman/k/326_p2.k12
-rw-r--r--challenge-326/hvukman/picolisp/perl326_p1.l21
-rw-r--r--challenge-326/hvukman/picolisp/perl326_p2.l11
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