diff options
Diffstat (limited to '2015/puzzle-4.rkt')
-rw-r--r-- | 2015/puzzle-4.rkt | 20 |
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: |