Seite 1 von 1

Ist 3888 wirklich das Limit?

Verfasst: 28. Okt 2011 17:43
von Matthias Senker
Es heißt in der Aufgabenstellung, die römischen Zahlen wären nur bis 3888 darstellbar, aber man kann doch 3999 als MMMCMXCIX darstellen. Ich sehe hierbei keine der beschriebenen Bedingungen verletzt! Außerdem finde ich auf Anhieb auch keine Zahl zwischen 3888 und 3999, die ich nicht darstellen könnte. Also ist das Limit von 3888 doch falsch, oder?

Nebenbei finde ich, dass die Bedingungen an die römischen Zahlen etwas schwammig formuliert sind. Es wären nach diesen Bedingungen z.B. auch DDD oder XCX (=100) römische Zahlen, aber meines Wissens sind sie das nicht!

Re: Ist 3888 wirklich das Limit?

Verfasst: 28. Okt 2011 20:29
von AlexPi11
Ohne die Aufgabenstellung zu kennen:
Als wie römische Zahlen konvertieren mussten, hatten wir das gleiche Problem. Früher hat man es wohl nicht so genau genommen, wie eine Zahl zu schreiben ist.
Kurze Recherche ergibt:
http://www2.inetdirect.net/~charta/Roman_numerals.html
Demnach ist 4 999 = MMMMCMXCIX bei "normalen" Zeichen das größte was geht. Dann kommen noch so Dinge wie Überstrich hinzu und schon ist man im Millionenbereich.

3 888 erhält man wohl, wenn man ingesamt nur dreimal das gleiche Zeichen zulässt.

Ich würde einfach bei dem Programm genau angeben, welche Eingaben zugelassen sind. (Am besten so, dass das Verlangte auch noch erlaubt ist :wink: )

Re: Ist 3888 wirklich das Limit?

Verfasst: 28. Okt 2011 20:36
von mw1039
Matthias Senker hat geschrieben:Es heißt in der Aufgabenstellung, die römischen Zahlen wären nur bis 3888 darstellbar, aber man kann doch 3999 als MMMCMXCIX darstellen. Ich sehe hierbei keine der beschriebenen Bedingungen verletzt! Außerdem finde ich auf Anhieb auch keine Zahl zwischen 3888 und 3999, die ich nicht darstellen könnte. Also ist das Limit von 3888 doch falsch, oder?
Ja, da hast du in der Tat Recht. Es reicht, wenn dein Programm die Zahlen bis 3888 korrekt umrechnet. Wenn du magst, darf es aber natuerlich auch die restlichen Zahlen noch umwandeln.

Re: Ist 3888 wirklich das Limit?

Verfasst: 2. Nov 2011 00:27
von -py-
Sind Zahlen wie MMMCMXCIXI (= 4000) oder XCX (= 100) als Eingabe für toDecimal zugelassen? In der Aufgabenstellung steht folgendes:
Es ist nicht zulässig auf ein Subtraktionspaar ein einzelnes Zeichen folgen zu lassen, das eine höhere Wertigkeit als der
linke Teil des Subtraktionspaars hat.
Allerdings ist I nicht höherwertig als I bzw. X nicht höherwertig als X und damit würde die Zahl gegen keine Regel aus der Aufgabenstellung verstoßen.

Re: Ist 3888 wirklich das Limit?

Verfasst: 2. Nov 2011 07:11
von Senchy
Man könnte dann aber auch die 400 so darstellen:
CCCXCIXI
zerlegt man aber die Zahlen nach modulo und prüft was wann wie oft hineinpasst erhält man
für 400 CD und für 4000 dann Mↁ, allerdings wurden höhere Zeichen als M im Praktika ja garnicht definiert