(tengo q decir q no soy informatico ni estudiante, apenas llevo tres semanas
en la programacion)
pero me vino un ejercicio q se trataba de entrar un numero entero y
sacar su numero en romano, pero este no viene la solución
me he quedado en blanco al 100%, no se ni por donde cogerlo
(puede ser demasiado avanzado para mi?, lo veo muy lejano)
alguien puede poner el principio del algoritmo en pseudocodigo, o darme una
pista, por que es q no se ni podr donde empezar, "K.O TOTAL" :-(
me he quedado con las ganas de ver la solucion...
gracias de antemano
Para empezar, con tres tablas, una con los números 1, 2, 3, 4, 5, 6, 7, 8,
9. Otra con 10, 20, 30 ... Y otra con 100, 200, 300, 400 ... Sólo te
quedará
el problema de los miles.
Saludos
Carles Batet
En cada paso consideras el número que te resulta de calcular el módulo en
el paso anterior.
Un saludo.
David -Y- <ti...@spam.com> escribió en el mensaje de noticias
q5x35.14$kM2....@m2newsread.uni2.es...
Supongamos una cifra de 4 dígitos (como mucho) p.e. 1453
primero: separa en cuatro variables diferentes los valores de cada dígito
unidades: 3
decenas : 5
centenas : 4
millares : 1
y con una estructura de SEGUN SEA EL CASO asocias los valores a los
símbolos correspondientes
unidades : 3 ----- > UnidadeRomanas : "III"
decenas : 5 ------> DecenasRomanas:"L"
Centenas : 4 -----> CentenasRomanas : "CCCC" ó "CD"
Millares : 1 ------> MillaresRomanas :"M"
Una vez hecho, concatena los textos en su orden y tendrás el numero romano
construido 1453 -----> MCDLIII
Este método te servirá también para transformar un número en su literal
es decir 1453 ----> "Mil cuatrocientos cincuenta y tres"
ale! a trabajar....
Ferran Juan
UPC
"Juan Carrasco" <jca...@glup.irobot.uv.es> escribió en el mensaje
news:8inh6e$kra$1...@peque.uv.es...
> Yo me plantearía como están organizados los números romanos. No lo
> recuerdo muy bien pero que cubrían 1000 (M), 500 (D), 100 (C), 50 (L), 10
> (X), 5 (V) y 1(I). Que se podían agrupar hasta 3 (3: III, 300: CCC) y que
el
> paso para el siguiente nivel era restando del superior (40 : XL, 400: CD,
> 900: CM...). Una buena forma para convertirlo podría ser:
> 1.- Dividir el número por 1000, esto te da las M que aparecen. También
se
> saca el resto haciendo módulo del número original con 1000.
> 2.- Repetir la operación con 500, esto te dirá si la D aparece o no.
> 3.- Ahora con 100, en este caso si al dividir sale un 4, escribes CD en
> lugar de CCCC
> ...
> y así hasta el 1.
>
> En cada paso consideras el número que te resulta de calcular el módulo
en
> el paso anterior.
>
> Un saludo.
>
>
"Ferran Juan" <ferra...@QUITAESTOupc.es> escribió en el mensaje
news:8io2sq$bnl$1...@defalla.upc.es...
> Aplica el refran "divide y vencerás"
>
> Supongamos una cifra de 4 dígitos (como mucho) p.e. 1453
> primero: separa en cuatro variables diferentes los valores de cada dígito
> unidades: 3
> decenas : 5
> centenas : 4
> millares : 1
>
> y con una estructura de SEGUN SEA EL CASO asocias los valores a los
> símbolos correspondientes
>
> unidades : 3 ----- > UnidadeRomanas : "III"
> decenas : 5 ------> DecenasRomanas:"L"
> Centenas : 4 -----> CentenasRomanas : "CCCC" ó "CD"
> Millares : 1 ------> MillaresRomanas :"M"
>
> Una vez hecho, concatena los textos en su orden y tendrás el numero romano
> construido 1453 -----> MCDLIII
>
> Este método te servirá también para transformar un número en su literal
> es decir 1453 ----> "Mil cuatrocientos cincuenta y tres"
>
> ale! a trabajar....
>
> Ferran Juan
> UPC
>
>
unidades[0]=""
unidades[1]="I"
unidades[2]="II"
unidades[3]="III"
unidades[4]="IV"
unidades[5]="V"
unidades[6]="VI"
unidades[7]="VII"
unidades[8]="VIII"
unidades[9]="IX"
decenas[0]=""
decenas[1]="X"
decenas[2]="XX"
decenas[3]="XXX"
decenas[4]="XL"
decenas[5]="L"
decenas[6]="LX"
decenas[7]="LXX"
decenas[8]="LXXX"
decenas[9]="XC"
centenas[0]=""
centenas[1]="C"
centenas[2]="CC"
centenas[3]="CCC"
centenas[4]="CD"
centenas[5]="D"
centenas[6]="DC"
centenas[7]="DCC"
centenas[8]="DCCC"
centenas[9]="CM"
Lo mismo para los miles....
miles[0]=""
miles[1]="M"
.........
coño, más fácil no puede ser....
numero romano = CONCATENAR(miles[miles];centenas[centenas]
;decenas[decenas];unidades[unidades])
el 249 te sale inmediatamente
miles=0
centenas=2
decenas=4
unidades=9
numero romano = CCXLIX ( no CCIL, ojo...)
y le añades los miles que sean necesarios...
Gracias a todos por las respuestas, no sabia ni por donde cojerlo
se estudiarán detenidamente ...
a ver si me "espabilo" cogiendo recortes de por aquí 0:-)