aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2015/puzzle-4.rkt20
1 files changed, 20 insertions, 0 deletions
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: