Komplex feladatok¶
Római szám konverter¶
Készíts egy programot, amely egy adott arab számot (1-től 2000-ig) római számmá alakít át! A programnak ellenőriznie kell, hogy a bevitt érték a megadott tartományban van-e, és ha nem, akkor hibaüzenetet kell kiírnia.
A római számok a következő karakterekből állnak: \(I, V, X, L, C, D, M\). A római számokban nincsenek negatív értékek vagy nulla, tehát csak pozitív számokat konvertálunk.
Az egyes karakterek értékei:
Karakter | Érték |
---|---|
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
Bizonyos esetekben kisebb értéket kell a nagyobb elé írni, hogy vonjon abból, például:
- \(IV = 4\)
- \(IX = 9\)
- \(XL = 40\)
- \(XC = 90\)
- \(CD = 400\)
- \(CM = 900\)
Példa
Arab szám | Római szám |
---|---|
3 | III |
9 | IX |
58 | LVIII |
1994 | MCMXCIV |
14 | XIV |
44 | XLIV |
99 | XCIX |
2023 | MMXXIII |
3999 | MMMCMXCIX |
Szám betűvel történő kiírása¶
Készíts egy programot, amely egy adott számot betűvel ír ki szó alakban!
A programnak ellenőriznie kell, hogy a bevitt érték a megadott tartományban van-e, és ha nem, akkor hibaüzenetet kell kiírnia.
A programnak a következő tartományban kell működnie: \(0 \leq n \leq 9999\).
Példa
Szám | Szó alakban |
---|---|
0 | nulla |
1 | egy |
10 | tíz |
11 | tizenegy |
20 | húsz |
21 | huszonegy |
100 | száz |
101 | százegy |
110 | száztíz |
111 | száz tizenegy |
1000 | ezer |
1001 | ezer egy |
1010 | ezer tíz |
1011 | ezer tizenegy |
1100 | ezer száz |
1101 | ezer százegy |
1110 | ezer száztíz |
1111 | ezer száz tizenegy |
9999 | kilencezer kilencszázkilencvenkilenc |