Algoritmia - numeros a romanos

 
Vista:

numeros a romanos

Publicado por john (3 intervenciones) el 14/03/2008 14:19:25
necesito un algoritmo que pase un numero decimal a numeros romanos sin utilizar vectores
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de números decimales a romanos sin vectores

Publicado por Alejandro (307 intervenciones) el 11/03/2024 23:28:26
John, aquí tienes un ejemplo de un algoritmo en pseudocódigo que convierte un número decimal a números romanos sin utilizar vectores. Ten en cuenta que este algoritmo asume que el número de entrada está en el rango de 1 a 3999, que son los límites típicos para los números romanos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Algoritmo DecimalARomano
 
Procedimiento ConvertirARomano(entero decimal)
    cadena resultado = ""  // Variable para almacenar el resultado en números romanos
 
    // Definir los símbolos y sus valores
    enteros valores[] = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
    cadenas simbolos[] = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
 
    // Iterar sobre los valores y construir el número romano
    para i desde 0 hasta longitud(valores) - 1 hacer
        mientras decimal >= valores[i] hacer
            resultado = resultado + simbolos[i]
            decimal = decimal - valores[i]
 
    // Mostrar el resultado
    Escribir("El número romano correspondiente es: ", resultado)
Fin Procedimiento
 
// Ejemplo de uso
ConvertirARomano(354)

Este algoritmo utiliza dos arreglos paralelos para representar los valores y los símbolos romanos. Luego, itera sobre estos valores y, mientras el número decimal sea mayor o igual al valor actual, agrega el símbolo correspondiente al resultado y resta el valor del número decimal.

Ten en cuenta que este es solo un ejemplo, y podrías necesitar ajustarlo según tus necesidades específicas y el lenguaje de programación que estés utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar