Giriş:
Bir tam sayı.
Çıktı:
- Önce tamsayıyı eşdeğer Romen Rakamına dönüştürün.
- Sonra Romen Rakamının her büyük harfini ASCII / UNICODE ondalık değerine dönüştürün.
- Ve bunların toplamını çıkar.
Misal:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
Romen Rakamları: İşte belki de yararlı bir Roma Rakamı Dönüştürücüsü.

Zorluk kuralları:
- Standart Roma Sayısal kuralları gibi pek alternatifi formları uygulanır
IIIIveyaVIIIIyerineIVveIX. * - 1.000'den fazla Romen Rakamının üzerindeki Macron çizgileri
¯(UNICODE no. 175). Yani bir satır+175iki, iki satır sayılır+350. - Tam sayıları temsil ettiği sürece her türlü giriş ve çıkış türünü kullanmanıza izin verilir.
- Test senaryoları aralığında olacaktır
1 - 2,147,483,647.
* Romen Rakamıyla ilgili kurallar (Wikipedia'dan alıntı):
Sayılar, sembollerin birleştirilmesi ve değerlerin eklenmesi ile oluşturulur, böylece
IIiki (iki) veXIIIonüç (on ve üç) olur. Her sayının, konuma göre on, yüz vb. Katları temsil etmek yerine sabit bir değeri olduğu için, 207 veya 1066 gibi sayılarda olduğu gibi, sıfırların "yer tutması" na gerek yoktur; bu sayılarCCVII(iki yüz, beş ve iki) veMLXVI(bin, elli, on, beş ve bir) olarak yazılır .Semboller, en büyükten başlayarak değer sırasına göre soldan sağa yerleştirilir. Bununla birlikte, birkaç özel durumda, dört karakterin art arda tekrarlanmasını önlemek için (
IIIIveya gibiXXXX), çıkarma gösterimi genellikle aşağıdaki gibi kullanılır:
Idaha önce yerleştirilmişVveyaXbirini daha az gösterir, bu nedenle dördüIV(biri beşten az) ve dokuz tanesiIX(ondan az)Xdaha önce yerleştirilirLveyaCondan daha az gösterir, bu nedenle kırkXL(elli'den on daha az) ve doksanXC(yüzden ondan az)Cönce yerleştirilirDveyaMyüz daha az gösterir, yani dört yüzCD(yüz az beş yüz) ve dokuz yüz olanCM(yüz az bin az)
Örneğin,MCMIV1904 1904 olan (Mbin olduğuCMbir dokuz yüz veIVdört).Romen rakamlarının modern kullanımına bazı örnekler:
1954 olarakMCMLIV; 1990 olarakMCMXC; 2014MMXIV
KAYNAK OLARAK
Genel kurallar:
- Bu kod golf , bayt en kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. 'Herhangi bir' programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyon / yöntemi uygun parametrelerle, tam programları kullanmanıza izin verilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, gerekirse bir açıklama ekleyin.
Test senaryoları:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999-> M(X)CMXCIX-> 77+263+67+77+88+67+73+88-> 800ve 2147483647-> ((MMCXLV)MMCDLXXX)MMMDCXLVII-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73-> 5362. Bu yüzden ikincisini düzelttim, ama 9999doğruydu.
2222222222belirtilen aralıkta değil. Ayrıca katılıyorum 5362.