Artículos
Java

La conjetura capicua con Java

Creado: 23/Jun/2009 Actualizado: 08/Ene/2015

Un número capicua es aquel que se lee igual de derecha a izquierda que de izquierda a derecha (véase Saber si un número es capicua con Java).

La conjetura capicua dice que partiendo de un número natural podemos llegar a obtener un número capicua en un número finito de sumas. Para ello iremos sumando a dicho número su número inverso.

Así tendríamos la siguiente secuencia:

96
96 + 69 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884

Lo que vamos a explicar aquí es como hacer la conjetura capicua con Java

Para empezar podemos leernos el artículo Saber si un número es capicua con Java. Ya que en él se nos explicará el cómo saber si un número es capicua de forma detallada mediante Java.

Lo primero que codificaremos serán un método que nos ayude a invertir un número:

static public long invertirNumero(long numero){...}

Esto ya lo veíamos en detalle dentro de Saber si un número es capicua con Java. Pero veamos el código:

static public long invertirNumero(long numero){
	
  long falta,numeroInvertido,resto;

  falta=numero;	
  numeroInvertido=0;
  resto=0;
		
  while(falta!=0) {
   resto=falta%10;
   numeroInvertido=numeroInvertido*10+resto;
   falta=falta/10;		 		 
  }

  return numeroInvertido;
}

Podemos observar que mediante operaciones matemáticas y obteniendo el resto de dividirlo entre 10 tenemos el número invertido.

Ahora vamos a la parte central que nos permite aplicar la conjetura capicua con Java. Estaremos en un bucle que vaya comparando el número con su núnero invertido. En caso de que coincidan es que hemos dado con el número capicua.

long numeroInvertido = invertirNumero(numero);
while (numero != numeroInvertido) {...}}

En el caso de no haber dado con el capicua, sumamos el número a su número invertido y volvemos a calcular el número invertido del resultado. Tal y como dice la conjetura capicua.

long numeroInvertido = invertirNumero(numero);
while (numero != numeroInvertido) {					
  numero+=numeroInvertido;
  numeroInvertido = invertirNumero(numero);						
}

Si salimos del bucle habremos dado con el número capicua…

Hay que tener en cuenta que el ejercicio trabaja con long. Es decir que si cuando hemos llegado a 9,223,372,036,854,775,807 no hemos encontrado el capicua… mal tema. Así que habrá que controlarlo o trabajar con tipos de datos de mayor precisión.

¿Alguien se anima a explicar cómo podemos hacerlo con mayor precisión?

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Google

Poner un icono dentro de Google Maps

Creado: 21/Jun/2009 Actualizado: 27/Ago/2021

Para poner un icono dentro de Google Maps lo que tenemos que hacer es poner una marca. La marca está representada mediante la clase GMarker.

Los primeros pasos son los de siempre y que podéis leer detenidamente en Cargando Google Maps. Si bien, resumidamente, consisten en:

  1. Cargar Google Maps
  2. Definir un área para el mapa
  3. Instanciar el mapa
  4. if (GBrowserIsCompatible()) {
      map = new GMap(document.getElementById("mapa"));
      map.setCenter(new GLatLng(40.655997,-4.700518), 15);
     }

Lo siguiente que pasaremos a realizar será la carga del icono dentro de Google Maps. Para ello creamos una instancia de la clase GMarker.

var marker =   new GMarker(new GLatLng(40.655997,-4.700518));

La clase GMarker recibe como parámetro un punto: ya sea relativo al mapa (GPoint) o una Latitud-Longitud (GlatLng). En nuestro caso nos hemos decantado por la segunda opción y hemos pasado como parámetro de la clase GMarker una clase GlatLng.

Una vez creada la marca tendremos que insertarla dentro del mapa. Para ello utilizamos el método .addOverlay() de la clase GMap2. Finalmente nos quedan dos líneas de código muy sencillas, las cuales nos permiten poner un icono dentro de Google Maps.

var marker =   new GMarker(new GLatLng(40.655997,-4.700518));
map.addOverlay(marker);
Blog

Cambiando las URLs de Linea de Código

Creado: 15/Jun/2009 Actualizado: 20/Jun/2009

Estamos re-estructurando Linea de Código de tal manera que sus URL sean más fáciles de recordar.

Es por ello que hemos organizado los artículos en categorias. Así ahora podréis encontrar URL como:

Si bien, las antiguas URL seguirán funcionado… :-)

Espero que sea de vuestro agrado