Romeinse cijfers
Hieronder staan 2 functies. De ene om een Arabisch cijfer (ons cijfersysteem, 0-9) naar een Romeins cijfer te veranderen, de anderen om een Romeins cijfer terug naar een Arabisch cijfer te veranderen.
Romeinse cijfers gaan van 1 tot x. Ze kennen geen 0 (voor zover ik weet).
Arabische cijfers gaan van -x tot x. Dus de invoer van Arabische cijfers moet positief zijn.
Bij deze functies heb ik op de prestatie gelet. Ik mijn functie hiervoor geoptimaliseerd: De eerste functie genereerde alles: zelfs dat IV 4 is. De array bevatte alleen I, V, X, L, C, D en M. Maar dit was 3x zo traag dan onderstaande functies. Het verschil is echter amper merkbaar als je de functie 1x aanroept. Maar als je deze 2000x aanroept is er een groot verschil. (Wie roept deze functie 2000x aan? Ik heb geen idee.)
Om de snelheid te bevorderen geef ik de array ook telkens mee in de function-arguments: Ik verwijder de array-delen die al geweest zijn.
Als namelijk bij de eerste keer een getal kleiner is dan 50, dan maak je het getal kleiner. Dan zal de tweede keer het getal ook kleiner zijn dan 50. Logisch.
Er zijn romeinse cijfers die groter zijn dan 1000 (D). Deze worden eigenlijk gemaakt door het rijtje van I, V, X, L, C, D en M opnieuw te doen, alleen dan met een streepje erboven. Dit heb ik echter niet gedaan, omdat ik zelf geen getallen boven de 1000 nodig zal hebben. En ik denk dat de meesten van jullie dato ook niet nodig hebben.
Gesponsorde koppelingen
PHP script bestanden
Er zijn 3 reacties op 'Romeinse cijfers'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu