33 lines
1.0 KiB
Plaintext
33 lines
1.0 KiB
Plaintext
import system'collections;
|
|
import system'routines;
|
|
import extensions;
|
|
import extensions'text;
|
|
|
|
static RomanDictionary = new Dictionary()
|
|
.setAt(1000, "M")
|
|
.setAt(900, "CM")
|
|
.setAt(500, "D")
|
|
.setAt(400, "CD")
|
|
.setAt(100, "C")
|
|
.setAt(90, "XC")
|
|
.setAt(50, "L")
|
|
.setAt(40, "XL")
|
|
.setAt(10, "X")
|
|
.setAt(9, "IX")
|
|
.setAt(5, "V")
|
|
.setAt(4, "IV")
|
|
.setAt(1, "I");
|
|
|
|
extension op
|
|
{
|
|
toRoman()
|
|
= RomanDictionary.accumulate(new StringWriter("I", self), (m,kv => m.replace(new StringWriter("I",kv.Key), kv.Value)));
|
|
}
|
|
|
|
public program()
|
|
{
|
|
console.printLine("1990 : ", 1990.toRoman());
|
|
console.printLine("2008 : ", 2008.toRoman());
|
|
console.printLine("1666 : ", 1666.toRoman())
|
|
}
|