Duda acerca de problema universitario | Lenguaje C(gcc)

T

Hola buenas junto con saludarles, publico esto porque tengo bastantes ideas erroneas de como desarrollar este problema, no entiendo el termino bi-palindrome. desde ya muchas gracias a todos. https://ibb.co/f9JpVP7

eXtreM3
#1theperro:

no entiendo el termino bi-palindrome

Lo indica el enunciado. "son aquellos que están compuestos por 2 palíndromos concatenados".

1122 -> 11.22
1214 -> 121.4
121343 -> 121.343

1 1 respuesta
T

#2 De que manera podria resolver este ejercicio. no se me ocurre nada :c , Muchas gracias.

1 respuesta
Ardi

Un palindromo sin leer el enunciado es algo que se lee de izquierda a derecha o de derecha a izquierda y da lo mismo.
12121 Palindromo 123421 No palindromo
1XXX1 Check correcto. 1XXXX1 Check Correcto.
X2X2X Check correcto. X2XX2X Check correcto.
XX1XX Check correcto. XX34XX Check Incorrecto.

Creo que con esto te he dado bastante idea de como resolver el problema, tampoco creo que te tenga que dar la solucion porque sino no aprendes ya que esto es un ejercicio de arrays,bucles y condicionales.

1 respuesta
djamb

#3 puedes ir recorriendo y buscando palíndromos, cuando encuentras uno, compruebas si lo restante es un palindromo y si no lo es, sigues recorriendo el número por dónde ibas y buscas otro palindromo.

1 respuesta
T

#4 Si amigo no quiero la respuesta tampoco gracias, el ejercicio no es de palindromo, es de Bipalindromo. vale igual crack c;

T

#5 Uhh buena idea igual, muchas gracias

tirutu

La idea que te han dado de buscar un palíndromo en un primer trozo y si lo es luego mirar el otro trozo, funciona.

Ya si quieres subir el nivel y hacerlo como un pro, está el algoritmo de Manacher que es mucho más eficiente.

1 respuesta
djamb

#8 pues si, en O(N).
Mola aprender cosas nuevas, en el paper que presentó en el 76 solo detectaba palíndromos pares supongo que eso ya estará arreglado.

JuAn4k4

Es muy sencillo, consiste en dividir tu problema:

Un bi-palindromo está formado por dos palíndromos consecutivos? -> Tienes que partir el numero en dos y mirar si ambos son palíndromos. Si lo son -> es bi palíndromo.

ABCD lo puedes dividir en dos de varias formas:
A.BCD
AB.CD
ABC.D

Y asi resuelves el problema de "bi".

1 respuesta
T

#10 Es una buena forma pero los numeros menores a 9 se consideran como palindromos igual

1 respuesta
JuAn4k4

#11 Eso es un caso excepcional que puedes tratar a parte. De todas formas, no creo que sea bi-palindromo, sino palíndromo a secas, y lo que te puse yo es pars bi

Bi-palindromo:
Si longitud = 1 -> false
Alg para bi

Palíndromo:
Si longitud = 1 -> true
Alg para palíndromo

Usuarios habituales