From 928dcb5572d7c290594625c82b06b4faaa0d712f Mon Sep 17 00:00:00 2001
From: Aryadev Chavali <aryadev@aryadevchavali.com>
Date: Fri, 1 Nov 2024 02:32:49 +0000
Subject: Finished problem 4 of 2015 in racket

---
 2015/puzzle-4.rkt | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 2015/puzzle-4.rkt

(limited to '2015')

diff --git a/2015/puzzle-4.rkt b/2015/puzzle-4.rkt
new file mode 100644
index 0000000..6641bff
--- /dev/null
+++ b/2015/puzzle-4.rkt
@@ -0,0 +1,20 @@
+#lang racket
+
+(require racket/file)
+(require file/md5)
+
+(define input (file->string "4-input"))
+
+(define (find-salt requested-string current)
+  (let* ([full-message (string-append input (number->string current))]
+         [hash (bytes->string/locale (md5 full-message))])
+    (if (string-prefix? hash requested-string)
+        current
+        (find-salt requested-string (+ current 1)))))
+
+(printf "Round 1: ~a~%" (find-salt "00000"  0))
+(printf "Round 2: ~a~%" (find-salt "000000" 0))
+
+;; Local Variables:
+;; compile-command: "racket puzzle-4.rkt"
+;; End:
-- 
cgit v1.2.3-13-gbd6f