Git Product home page Git Product logo

dojo-numeros-romanos's Introduction

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

dojo-numeros-romanos's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.