FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Obtener un dígito en una posición
Buenas, ya voy aproximadamente un año con delphi y le entiendo perfectamente bien, pero me dejaron un problema que la verdad hasta ahora me ha dejado mal parado, no puedo hacerlo y da para pensar, me han puesto una condición (sin usar for, while, repeat y todo lo que viene a ser ciclo repetitivo), el problema es el siguiente:
Escribir el código de un programa en delphi en modo consola que pida dos números N y K donde se muestre el dígito que se encuentre en la posición K del número N ( Sin usar ciclos repetitivos ) ejemplo: N:= 1248935 K:= 4 result:= 8 El problema este me pone pensativo cuando me pidieron no usar while, ni for, ni repeat, alguien tiene alguna solución o aporte que pueda servir? Uso tanto los ciclos que no se me ocurre como hacerlo sin ellos. Por favor. Gracias de antemano Quizás podría solucionarse con una fórmula que se usa para contar el número de dígitos, que la verdad nunca se me habría ocurrido
|
#2
|
||||
|
||||
Recuerda poner títulos descriptivos a tus preguntas, gracias.
|
#3
|
|||
|
|||
Editado, gracias
|
#4
|
|||
|
|||
Pues eso es lo que tienes que hacer, usar logaritmos y exponenciales sobre base 10. Realmente no es dificil.
Otra forma un poco "chueca" que creo no es la idea, es pasar el numero a string, y de ahi hacer referencia al caracter apropiado. |
#5
|
||||
|
||||
Hola andrecuellar.
¿ Ya revisaste los enlaces que hay al pié de esta página ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
|||
|
|||
no lo había visto, pero las soluciones que dan son con manejo de cadenas (no es con manejo de cadenas tampoco que se debe hacer), o también se las dan con ciclos repetitivos, que si pudiera usarlos entonces ya lo habría hecho, de todas maneras gracias
|
#7
|
||||
|
||||
Hola.
Fijate si te sirve de este modo:
Uso:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
Dos soluciones no iterativas:
1. Variante de la de ecfisa:
2. Versión recursiva
En ambos casos, los dígitos se cuentan desde el 0 de derecha a izquierda. LineComment Saludos Última edición por roman fecha: 02-09-2016 a las 17:51:40. Razón: Me equivoqué de autor de la otra versión. |
#9
|
|||
|
|||
Gracias a todos!
Gracias a todos! al final terminé usando esto que igual me sirvió
Lo voy a poner todo en uno en consola para no estar separando todo en funciones
Muchas gracias a todos los que me ayudaron, simplemente tenía que usar la "fórmula" para obtener el número de dígitos y luego usar otra. Gracias! Tema resuelto |
#10
|
||||
|
||||
Hola si en tu caso todo es valido excepto los ciclos repetitivos puedes probar tambien con esta alternativa
SALUDOS Última edición por BDWONG fecha: 07-09-2016 a las 05:03:18. |
#11
|
||||
|
||||
Cita:
Fuera de bromas, realmente no lo entiendo, en donde esta el "truco"? |
#12
|
||||
|
||||
Convierte el número en una cadena, toma el k-ésimo caracter y lo devuelve restándole $30 que es el código ascii del 0, es decir, conviertiendo el caracter de vuelta en número.
De todas formas, ya en el mensaje #6 se había establecido que no podían usarse cadenas. LineComment Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Obtener determinado dígito de un número | xneox | Varios | 10 | 07-10-2012 01:43:22 |
Pago Fácil, obtener dígito verificador | DamianG | Varios | 3 | 25-09-2012 20:30:45 |
Eliminar un digito y mostrar el digito eliminado | luisito2011 | Varios | 17 | 01-04-2011 05:27:17 |
Obtener la posición del cursor en un memo | serg | Varios | 1 | 03-03-2008 00:21:47 |
Comparar un number dígito a dígito | kuan-yiu | SQL | 2 | 25-06-2007 17:26:47 |
|