Przykład 1
- Kierunek: liczba na cyfry rzymskie
- 2026
MMXXVI
Dwa M (2000), XX (20), VI (6).
Wprowadź liczbę całkowitą od 1 do 3999 albo kanoniczny zapis rzymski. Kalkulator zamienia w obie strony: 2026 to MMXXVI, 14 to XIV. Stosuje notację odejmującą IV, IX, XL, XC, CD i CM. Zapis IIII nie jest przyjmowany — czwórka to IV.
Wprowadź liczbę od 1 do 3999 albo zapis rzymski. Wynik pojawi się tutaj.
To nie generator pełnej daty ani szyfr. Systemy pozycyjne bin/hex/dec są na bin, hex i dec.
Cyfry rzymskie to system notacji liczbowej oparty na siedmiu znakach alfabetu łacińskiego: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000. Wartość zapisuje się zwykle od największego tokenu do najmniejszego. Obok czystego dodawania (XVII = 10+5+1+1) współczesny zapis szkolny stosuje sześć par odejmujących: IV, IX, XL, XC, CD i CM. Ten kalkulator implementuje dokładnie tę konwencję kanoniczną dla liczb całkowitych od 1 do 3999.
Zamiana liczby arabskiej na zapis rzymski przebiega zachłannie: z listy tokenów [1000→M, 900→CM, …, 4→IV, 1→I] kalkulator odejmuje największy możliwy token, dopóki reszta nie spadnie do zera. Dla 2026: dwa M (2000), potem XX (20), potem VI (6) → MMXXVI. Dla 14: X + IV → XIV. Dla 3999: MMM + CM + XC + IX → MMMCMXCIX.
W drugą stronę kalkulator skanuje ciąg liter MDCLXVI tymi samymi tokenami od lewej, sumuje wartości i sprawdza, czy toRoman(n) jest identyczne z wprowadzonym zapisem po normalizacji (wielkie litery, bez spacji). Dzięki temu IIII, VV ani IC nie przechodzą — mimo że niektóre historyczne lub zegarowe warianty istniały obok formy szkolnej.
Kalkulator korzysta z kierunku (pole „Kierunek”) oraz wartości (pole „Wartość”), które wprowadzasz. To nie konwerter pełnej daty kalendarzowej i nie szyfr Cezara — tylko bijekcja między liczbą całkowitą 1–3999 a jej kanonicznym zapisem rzymskim.
Przykłady kontrolne: 2026 ↔ MMXXVI; 14 ↔ XIV; 44 → XLIV; 1990 → MCMXC; 3999 → MMMCMXCIX; XLIX → 49. Te same liczby stoją w przykładach klikanych i w FAQ.
I=1, V=5, X=10, L=50, C=100, D=500, M=1000; pary odejmujące: IV=4, IX=9, XL=40, XC=90, CD=400, CM=900.
Arabska → rzymska: zachłanny dobór tokenów z listy (1000,…,1) aż reszta spadnie do 0. Rzymska → arabska: suma tych samych tokenów od lewej, potem warunek toRoman(n) = napis.
Dziedzina: n ∈ {1,…,3999}. Model matematyczny: kanoniczne cyfry rzymskie z notacją odejmującą (schoolbook Roman numerals; Menninger / Ifrah / Chrisomalis jako kontekst historyczny).
System cyfr rzymskich (łac. numeri Romani) przypisuje wartości całkowite siedmiu znakom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000. Zapis liczby to skończony ciąg tych znaków interpretowany według reguł addytywnych i odejmujących. W konwencji szkolnej (kanonicznej) dozwolone pary odejmujące to wyłącznie IV, IX, XL, XC, CD i CM; poza nimi mniejszy znak nie stoi przed większym. Funkcja toRoman na tej stronie jest bijekcją z {1,…,3999} na zbiór kanonicznych napisów od I do MMMCMXCIX.
Odczyt odwrotny najpierw sumuje tokeny zachłannie od lewej (najdłuższy pasujący token z listy MAP), a następnie wymaga równości napisu z toRoman(n). Ta druga kontrola odrzuca formy niekanoniczne, nawet jeśli naiwna suma liter dałaby „poprawną” wartość arytmetyczną (np. IIII = 4 arytmetycznie, lecz kanonicznie 4 = IV).
Dziedzina tego kalkulatora nie obejmuje zera, ułamków, liczb ujemnych ani liczb ≥ 4000. Zero nie miało osobnego znaku w klasycznym systemie rzymskim; większe wartości historycznie oznaczano m.in. kreską nad symbolem (vinculum, mnożenie przez 1000) — poza zakresem tego kalkulatora.
Notacja rzymska wyrasta z wcześniejszych praktyk italskich i etruskich; znaki przypominające I, V i X pojawiają się już w epigrafice przed pełną latynizacją alfabetu. Karl Menninger w Number Words and Number Symbols opisuje ewolucję od zaznaczania jednostek kreskami i „piątek” przez kształt dłoni lub kąt, po ustabilizowanie siedmiu liter w administracji i epigrafice rzymskiej. Georges Ifrah w The Universal History of Numbers podkreśla, że system był przede wszystkim narzędziem zapisu i rachunku publicznego, a nie pozycyjnym systemem o podstawie dziesięć — stąd brak zera i inna logika niż w cyfrach indoarabskich.
Stephen Chrisomalis w Numerical Notation: A Comparative History klasyfikuje cyfry rzymskie wśród systemów cumulative–additive z późniejszymi regułami subtractive. Notacja odejmująca nie była od początku jednolita: w inskrypcjach i rękopisach średniowiecznych współistniały formy addytywne (IIII, VIIII) i odejmujące (IV, IX). Współczesny „zapis szkolny” z sześcioma parami odejmującymi to konwencja dydaktyczna i typograficzna utrwalona w erze druku i nauczania — ta strona stosuje właśnie ją.
Zegary wieżowe i tarczowe często zachowują IIII zamiast IV: wyjaśnienia bywają estetyczne (symetria względem VIII), tradycyjne albo związane z unikaniem formy IV kojarzonej z Jowiszem (IVPITER) w niektórych przekazach — niezależnie od przyczyny, zegarmistrzowska IIII nie jest tu kanoniczna. W filmach, monumentach i numeracji papieży (Jan Paweł II jako Ioannes Paulus II) cyfry rzymskie pełnią dziś funkcję symboliczną i stylistyczną, nie codziennego rachunku.
Niech T będzie uporządkowaną listą par (wartość, token): (1000,M), (900,CM), (500,D), (400,CD), (100,C), (90,XC), (50,L), (40,XL), (10,X), (9,IX), (5,V), (4,IV), (1,I). Dla n ∈ {1,…,3999} algorytm zachłanny buduje unikalny napis R(n), zbierając kolejne tokeny tak długo, aż suma wartości równa n. Odwrotna funkcja: skanowanie napisu s tokenami z T od lewej daje sumę σ(s); akceptacja wymaga σ(s) ∈ [1,3999] oraz R(σ(s)) = s (po uppercase i usunięciu spacji).
Własności: R jest injektywne i surjektywne na swój obraz; |R(n)| jest ograniczone (najdłuższe kanoniczne napisy w tym zakresie mają rząd kilkunastu znaków, np. MMMCMXCIX). Tokeny V, L, D nie powtarzają się w R(n); I, X, C, M powtarzają się co najwyżej trzy razy z rzędu w części addytywnej. Pary odejmujące występują co najwyżej raz na daną „kolumnę” dziesiętną.
System nie jest pozycyjny: znaczenie znaku nie zależy od miejsca w sensie potęgi bazy, lecz od lokalnych reguł sąsiedztwa (add / subtract). Dlatego „przesunięcie” jak w systemie dziesiętnym nie ma tu bezpośredniego odpowiednika.
Krok 1 (arabska → rzymska). Wejście: liczba całkowita n, 1 ≤ n ≤ 3999. Reszta r ← n, wynik w ← pusty. Dla każdego (v, t) z T: dopóki r ≥ v, dołącz t do w i r ← r − v. Wyjście: w. Przykład n = 2026: M, M, X, X, V, I → MMXXVI.
Krok 2 (rzymska → arabska). Wejście: napis s. Normalizacja: uppercase, usuń spacje. Odrzuć, jeśli pojawią się znaki spoza MDCLXVI. Indeks i ← 0, suma σ ← 0. Dla każdego (v, t) z T: dopóki s zaczyna się od t na pozycji i, σ ← σ + v, i ← i + |t|. Jeśli i ≠ |s|, odrzuć. Jeśli σ ∉ [1,3999] lub R(σ) ≠ s, odrzuć. W przeciwnym razie wynik to σ.
Krok 3 (dlaczego walidacja kanoniczna). Suma naiwna IIII dałaby 4, lecz R(4) = IV ≠ IIII. Suma IC dałaby 99, lecz R(99) = XCIX ≠ IC. Walidacja R(σ) = s gwarantuje, że akceptowane są wyłącznie napisy generowane przez ten sam model.
Krok 4 (przykład odejmujący). n = 44: XL (40) + IV (4) = XLIV. Tokeny XL i IV pochodzą z listy T; nie powstaje XXXXIIII.
Dolny kraniec: 1 → I. Górny: 3999 → MMMCMXCIX. Liczby „okrągłe”: 10 → X, 50 → L, 100 → C, 500 → D, 1000 → M, 2000 → MM. Czwórki i dziewiątki w każdej dekadzie: 4→IV, 9→IX, 40→XL, 90→XC, 400→CD, 900→CM. Rok 1990 → MCMXC; 2026 → MMXXVI; 14 → XIV.
Odrzucane: 0, 4000, −3, 14.5, pusty ciąg, „ABC”, „IIII”, „VV”, „IC”, „IL”, „XM”. Małe litery „xiv” są akceptowane jako XIV. Spacje wewnątrz „X I V” są usuwane przed odczytem.
Vinculum (M z kreską = 1 000 000 w niektórych konwencjach) oraz zapis z apostrofem lub nawiasami dla tysięcy nie są obsługiwane — wynik poza 3999 zgłasza błąd zakresu.
Kalkulator jest całkowitoliczbowa: w żadnym kroku nie pojawiają się ułamki. Wejście arabskie po zamianie przecinka na kropkę musi być skończoną liczbą całkowitą (n === ⌊n⌋). Odczyt rzymski nie sumuje mechanicznie bez kontroli kanoniczności — to świadomy wybór zgodny z podręcznikowym zapisem.
Złożoność: przy stałej długości listy T i krótkim napisie (kilkanaście znaków) czas jest praktycznie stały. Nie ma ryzyka przepełnienia int32 w zakresie 1–3999.
Panel wyniku pokazuje kierunek, echo wejścia, pary odejmujące obecne w zapisie oraz żetony rozkładu zachłannego — te same wartości co w algorytmie, bez osobnej heurystyki graficznej.
Pokrewne narzędzia na CalcBoxer: systemy pozycyjne bin/hex/dec (IT), generator liczb losowych, dziesiętna na ułamek. Cyfry rzymskie nie są szyfrem ani kalkulatorem daty — daty rzymskie (dzień.miesiąc.rok jako trzy osobne liczby) wymagają osobnego trybu, którego ten kalkulator nie ma.
Źródła Menninger, Number Words and Number Symbols; Ifrah, The Universal History of Numbers; Chrisomalis, Numerical Notation; hasła encyclopedyczne Wikipedia PL/EN „Cyfry rzymskie” / „Roman numerals”; tablice szkolne z parami IV–CM. Narzędzie edukacyjne — nie zastępuje paleografii inskrypcji.
2026 zapisuje się jako MMXXVI: dwa tysiące, dwadzieścia i sześć w tokenach M, X, V, I z notacją odejmującą tam, gdzie lista T tego wymaga.
MMXXVI
Dwa M (2000), XX (20), VI (6).
XIV
X (10) + IV (4).
14
Odczyt kanoniczny XIV.
MMMCMXCIX
Górny kres zakresu: MMM+CM+XC+IX.
XLIV
XL (40) + IV (4).
2026
Odczyt MMXXVI → 2026.
MCMXC
M + CM + XC.
49
XL (40) + IX (9).
Kalkulator dobiera zachłannie tokeny od największego: M (1000), CM (900), D (500), CD (400), C (100), XC (90), L (50), XL (40), X (10), IX (9), V (5), IV (4), I (1). Dla 2026: MM + XX + VI = MMXXVI. Zakres to wyłącznie liczby całkowite od 1 do 3999.
Wprowadzony ciąg (wielkie lub małe litery I, V, X, L, C, D, M) jest skanowany tymi samymi tokenami od lewej. Wynik musi leżeć w 1–3999 i musi być równy kanonicznemu toRoman(n). Dlatego IIII, IC ani XXXX nie przechodzą — czwórka to IV, dziewięćdziesiąt dziewięć to XCIX.
Sześć par szkolnych: IV=4, IX=9, XL=40, XC=90, CD=400, CM=900. Mniejszy symbol stoi przed większym i odejmuje się od niego. Poza tymi parami zapis jest addytywny: XVII = 10+5+1+1. Ten kalkulator stosuje wyłącznie te pary — bez rzadkich form typu IL czy IC.
Zakres tej strony to 1 do 3999 (I do MMMCMXCIX). Klasyczny system rzymski nie ma znaku zera. Liczby ≥ 4000 wymagają konwencji z kreską (vinculum) lub innych rozszerzeń — ten kalkulator ich nie liczy.
Na tarczach zegarów często pojawia się addytywne IIII (tradycja zegarmistrzowska). Szkolny i kanoniczny zapis współczesny dla 4 to IV. Kalkulator przyjmuje tylko postać kanoniczną równą toRoman(n), więc IIII odrzuca.
Tak. xiv i XIV oznaczają to samo; spacje są usuwane przed odczytem. Inne znaki (arabskie cyfry w trybie rzymskim, litery poza MDCLXVI) powodują błąd.
Nie. Zamiana dotyczy samej liczby całkowitej, nie dnia–miesiąca–roku jako daty kalendarzowej. Szyfr podstawieniowy Cezara jest na osobnej stronie w IT. 2026 to MMXXVI niezależnie od miesiąca.
2026 → MMXXVI. 14 → XIV. XIV → 14. 3999 → MMMCMXCIX. Te same wartości stoją w przykładach klikanych i w panelu wyniku.
Nie. Wynik zależy tylko od kierunku i wprowadzonej wartości. Ustawienia waluty i jednostek w nagłówku strony nie wpływają na ten wynik.
Panel pokazuje zachłanny rozkład wartości (np. 1000+1000+10+10+5+1) jako żetony M, M, X, X, V, I. To ta sama ścieżka co w kodzie toRoman — nie osobny „wizualny” wzór.
Historia, konwencja odejmująca i zakres 1–3999 oparte są na uznanych opracowaniach.
Strona zaktualizowana 14 października 2026.