diff --git a/index.html b/index.html
index e4d665c..0d4b61e 100644
--- a/index.html
+++ b/index.html
@@ -137,8 +137,9 @@ function r2a(roma, type) {
else arab = arab - prev * 2 + curr;
}
switch (type) {
- case "r10": if (roma == a2r10(arab))
- return arab;
+ case "r10":
+ if (roma == a2r10(arab) || roma == a2r10i(arab))
+ return arab;
case "r8": if (roma == a2r8(arab))
return arab;
}
@@ -189,6 +190,18 @@ function a2r10(n) {
return roman;
}
+function a2r10i(n) {
+ var roman = '';
+ roman += 'M'.repeat(n / 1000); n %= 1000;
+ roman += 'D'.repeat(n / 500); n %= 500;
+ roman += 'C'.repeat(n / 100); n %= 100;
+ roman += 'L'.repeat(n / 50); n %= 50;
+ roman += 'X'.repeat(n / 10); n %= 10;
+ roman += 'V'.repeat(n / 5); n %= 5;
+ roman += 'I'.repeat(n);
+ return roman;
+}
+
function a2r8(n) {
var roman = '';
roman += 'M'.repeat(n / 512); n %= 512;
@@ -205,14 +218,19 @@ function a2r(arab, type) {
if (arab > 0 && arab < 4000) {
switch (type) {
case "r10": return a2r10(arab);
+ case "r10i": return a2r10i(arab);
case "r8": return a2r8(arab);
}
} else return "...";
}
function updatea2r() {
- document.getElementById("outr10").innerHTML =
- a2r(document.getElementById("arin").value, "r10");
+ var r10 = a2r(document.getElementById("arin").value, "r10");
+ var r10i = a2r(document.getElementById("arin").value, "r10i");
+ var resr10 = r10;
+ if (r10 != r10i) resr10 += "
" + r10i +
+ "";
+ document.getElementById("outr10").innerHTML = resr10;
document.getElementById("outr8").innerHTML =
a2r(document.getElementById("arin").value, "r8");
}
@@ -257,41 +275,47 @@ function fulltable(type) {
restab += "
octal coincidence table
"; - document.getElementById("allnum").innerHTML = restab; restab += "arabic" + " | octal roman | " + "decimal roman value | "; var num; for (num = 1; num < 4000; num++) { - var a2r8num = a2r8(num); + var r8 = a2r8(num); restab += "
" + num + " | "; restab += "" + - a2r8num + " | "; - restab += "" + r2a(a2r8num, "r10") + " | " + r2a(r8, "r10") + " | "; } restab += "
decimal coincidence table
"; - document.getElementById("allnum").innerHTML = restab; restab += "arabic" + " | decimal roman | " + "octal roman value | "; var num; for (num = 1; num < 4000; num++) { - var a2r10num = a2r10(num); + var r10 = a2r10(num); + var r10i = a2r10i(num); restab += "|
" + num + " | "; - restab += "" + - a2r10num + " | "; - var coinc = r2a(a2r10num, "r8"); + restab += "" + r10; + if (r10 != r10i) + restab += " " + r10i + ""; + restab += " | "; + var coinc = r2a(r10, "r8"); if (coinc == "...") restab += "" + coinc + " | "; } @@ -367,7 +391,7 @@ function chbg() {