Skip to content

jklemm/dojo-numeros-romanos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Jorge Klemm
Feb 15, 2018
62d2e93 · Feb 15, 2018

History

20 Commits
May 24, 2015
May 25, 2015
Feb 15, 2018
Feb 15, 2018
May 27, 2015
Feb 15, 2018
Feb 15, 2018
May 27, 2015

Repository files navigation

dojo-numeros-romanos

Conversor de números inteiros para romanos e vice-versa.

Dojo retirado de: http://dojopuzzles.com/problemas/exibe/numeros-romanos/

O Problema

O sistema de numeração romana (ou números romanos) desenvolveu-se na Roma Antiga e utilizou-se em todo o seu Império.

Neste sistema as cifras escrevem-se com determinadas letras, que representam os números. As letras são sempre maiúsculas, já que no alfabeto romano não existem as minúsculas, as letras são I, V, X, L, C, D e M.

Sua tarefa é desenvolver um programa que converta números indo-arábicos para o formato romano e vice-versa.

As regras para a formação dos números romanos são apresentadas a seguir.

Cada letra corresponde a um determinado valor:

I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000

Agrupando as letras acima, podemos representar os números de acordo com um conjunto de regras:

Com exceção de V, L e D, os outros numerais podem se repetir no máximo três vezes:

III = 3
XXX = 30
CCC = 300
MMM = 3000

Do milhar 4000 em diante, os algarismos são os mesmos de unidade (IV, V, VI, VII, VIII, IX, X), porém com um traço (macron) sobre o algarismo:

ĪV̄ = 4000
V̄ = 5000
V̄Ī = 6000
V̄ĪĪ = 7000
V̄ĪĪĪ = 8000
ĪX̄ = 9000
X̄ = 10000

Quando escritos à direita de numerais maiores, I, X e C somam-se aos valores dos primeiros:

VIII = 5 + 1 + 1 + 1 = 8
LXII = 50 + 10 + 1 + 1 = 62
CLVIII = 158
MCXX = 1000 + 100 + 10 + 10 = 1120

Mas se os numerais I, X e C estiverem à esquerda dos maiores, seus valores são subtraídos como, por exemplo, em:

IV = 5 - 1 = 4
IX = 10 - 1 = 9
XC = 100 - 10 = 90

About

Conversor de números inteiros para romanos utilizando TDD

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages