#!/usr/local/bin/guile \ -e main -s !# ;;; $Id: hash.guile,v 1.3 2001/06/29 23:12:37 doug Exp $ ;;; http://www.bagley.org/~doug/shootout/ (define (main args) (use-modules (ice-9 format)) (let* ((n (or (and (= (length args) 2) (string->number (cadr args))) 1)) (last (- n 1)) (c 0) (x (make-hash-table n))) (do ((i 1 (+ i 1))) ((> i n)) (hash-set! x (number->string i 16) i)) (do ((i last (- i 1))) ((< i 0)) (if (hash-ref x (number->string i 10)) (set! c (+ c 1)))) (display (format "~D\n" c))))