Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,16 @@
|
|||
#lang racket
|
||||
(define (encode/roman number)
|
||||
(cond ((>= number 1000) (string-append "M" (encode/roman (- number 1000))))
|
||||
((>= number 900) (string-append "CM" (encode/roman (- number 900))))
|
||||
((>= number 500) (string-append "D" (encode/roman (- number 500))))
|
||||
((>= number 400) (string-append "CD" (encode/roman (- number 400))))
|
||||
((>= number 100) (string-append "C" (encode/roman (- number 100))))
|
||||
((>= number 90) (string-append "XC" (encode/roman (- number 90))))
|
||||
((>= number 50) (string-append "L" (encode/roman (- number 50))))
|
||||
((>= number 40) (string-append "XL" (encode/roman (- number 40))))
|
||||
((>= number 10) (string-append "X" (encode/roman (- number 10))))
|
||||
((>= number 9) (string-append "IX" (encode/roman (- number 9))))
|
||||
((>= number 5) (string-append "V" (encode/roman (- number 5))))
|
||||
((>= number 4) (string-append "IV" (encode/roman (- number 4))))
|
||||
((>= number 1) (string-append "I" (encode/roman (- number 1))))
|
||||
(else "")))
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#lang racket
|
||||
(define (number->list n)
|
||||
(for/fold ([result null])
|
||||
([decimal '(1000 900 500 400 100 90 50 40 10 9 5 4 1)]
|
||||
[roman '(M CM D CD C XC L XL X IX V IV I)])
|
||||
#:break (= n 0)
|
||||
(let-values ([(q r) (quotient/remainder n decimal)])
|
||||
(set! n r)
|
||||
(append result (make-list q roman)))))
|
||||
|
||||
(define (encode/roman number)
|
||||
(string-join (map symbol->string (number->list number)) ""))
|
||||
|
||||
(for ([n '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 30 40
|
||||
50 60 69 70 80 90 99 100 200 300 400 500 600 666 700 800 900
|
||||
1000 1009 1444 1666 1945 1997 1999 2000 2008 2010 2011 2500
|
||||
3000 3999)])
|
||||
(printf "~a ~a\n" n (encode/roman n)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue