lunes, 31 de marzo de 2014

Programame Regional 2013 I: Número Hyperpar

Se dice que un número es hyperpar cuando todos sus dígitos son pares. >Sabes identificarlos?
Entrada
La entrada consta de una serie de casos de prueba. Cada uno está compuesto de una unica línea con un número no negativo ni mayor que 109.
Los casos de prueba terminan con un número negativo que no habrá que procesar.
Salida
Para cada caso de prueba se escribir a, en una línea independiente, SI si el número es hyperpar y NO si no lo es.
Entrada de ejemplo
2460
1234
2
-1

Programame Regional 2013 H: Área de un rectángulo (www.aceptaelreto.com 164)

Área de un rectángulo
El área de un polígono es la cantidad de superficie que encierran sus lados. El área de un rectángulo es la multiplicación de la base por la altura. >Sabes calcularla?
Entrada
La entrada consta de una serie de casos de prueba. Cada uno contiene la definición de un rectángulo en una sola línea con cuatro n umeros enteros no negativos menores o iguales que 10:000. Los dos primeros
definen la posición del vértice inferior izquierdo del rectángulo y los dos siguientes la del vértice superior derecho.
El último caso de prueba, que no debe procesarse, proporciona un rectángulo en el que el segundo vértice está debajo o a la izquierda del primero.
Salida
Para cada caso de prueba se escribirá, en una línea independiente, el área del rectángulo dado.
Entrada de ejemplo
1 1 4 3
0 0 1 1
9 7 3 6
Salida de ejemplo
6
1 /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package programamecuadernilloregional2013hareadeunrectangulo;
import java.util.Scanner;
/**
*
* @author juan
*/
public class ProgramameCuadernilloRegional2013HAreaDeUnRectangulo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int x1,y1,x2,y2;
        Scanner leo = new Scanner(System.in);
    
        x1=leo.nextInt();
        y1=leo.nextInt();
        x2=leo.nextInt();
        y2=leo.nextInt();
        while (x1<=x2 && y1<=y2 ) {
            System.out.println(((x2-x1)*(y2-y1)));
            x1=leo.nextInt();
            y1=leo.nextInt();
            x2=leo.nextInt();
            y2=leo.nextInt();
        }

    }
}
import java.util.Scanner;

/**
*
* @author juan
*/
public class Rectan {

    /**
     * @param args the command line arguments
     */

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int x1,y1,x2,y2;
        Scanner leo = new Scanner(System.in);
        boolean salir=false;
     
       
        do {
          
            x1=leo.nextInt();
            y1=leo.nextInt();
            x2=leo.nextInt();
            y2=leo.nextInt();
            if (x1<=x2 && y1<=y2 ){
                System.out.println(((x2-x1)*(y2-y1)));
            } else salir = true;
        }while (!salir );
 
    }
}

Programame Regional 2013: G Súmale uno

S umale uno
Cuando escribimos un n umero en decimal, usamos como dí gitos los valores del 0 al 9. La posici ón de cada dí gito indica el peso que tiene en el valor total del n úmero.
Los números escritos en hexadecimal, por su parte, utilizan dí gitos del 0 al 15. Para representar los que superan el 9, necesitamos sí mbolos nuevos. Para eso, se utilizan las letras de la A a la F, de manera que, en hexadecimal, el n umero 9 es seguido por el A, o el BF por C0.
>Eres capaz de dar el siguiente n úmero hexadecimal a uno dado?

Entrada
La entrada estar a compuesta de m últiples casos de prueba. Cada uno consistir á en un n úmero escrito
en notaci ón hexadecimal, hasta un m áximo de 100 d í gitos. Ninguno de los casos de prueba contendrá ceros sup erflúos a la izquierda, y usarán, en su caso, letras may úsculas.
Un caso de prueba con la cadena FIN marca el nal.

miércoles, 19 de marzo de 2014

Preparación examen 4: ordenando fácil, pero sin sort


package repasopreexamen4;
import java.util.Random;
/**
*
* @author juan
*/
public class RepasoPreExamen4 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        final int MAX =100;
        int [] matriz = new int [MAX];
        int temp;
        Random al = new Random();
       
        for (int i = 0; i < MAX; i++) {
            matriz[i]=al.nextInt(MAX);
        }
       
        int pos=0;
        boolean cambios=true;
        while (cambios && pos<MAX) {
            cambios=false;
            for (int i = pos+1; i < MAX; i++) {
                if(matriz[i] < matriz [pos])
                {
                    temp=matriz[i];
                    matriz[i]=matriz[pos];
                    matriz[pos]=temp;
     

Preparación examen 3: sopa de letras cutre,...muy cutre


package repasopreexamen3;
import java.util.Scanner;
import java.util.Random;
/**
*
* @author juan
*/
public class RepasoPreExamen3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        final int TOPE =100;
        String alfabeto="abcdefghijklmnñopqrstuvwxyz";
        String [] palabras = new String[TOPE];
    

Preparación examen 2: objeto cadena contando/mostrando número de caracteres


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package repasopreexamen2;

/**
*
* @author juan
*/
public class RepasoPreExamen2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String uno;
      
 

Preparación examen 1: mostrar número de letras de la cadena


/*
* Contar y mostrar nº de letras en una cadena leída teclado
*/
package repasopreexamen1;
import java.util.Scanner;
/**
*
* @author juan
*/
public class RepasoPreExamen1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String al

viernes, 14 de marzo de 2014

Repaso Ejercicio 26 Unidad 2 empleando enum y arrays

package repasounidad2ejercicio26;
import java.util.Scanner;
/**
*
* @author Juan
*/
public class RepasoUnidad2Ejercicio26 {

      public enum Euro {CIEN(100),
                        CINCUENTA(50),
                        VEINTE(20),
                        DIEZ(10),
                        CINCO(5),
                        UNO(1);
           private int valor;
           Euro(int valor){
               this.valor=valor;
           }
    };
   
 

Explicación Enum

package explicacion_enum;



public class Explicacion_Enum {
    final int PRUEBA=10;
  
   
    public enum Moneda {CENT,CINCO,DIEZ,VEINTE,CINCUENTA};
    public enum Dia {LUNES,MARTES,MIERCOLES,JUEVES,VIERNES,SABADOS,DOMINGO};
   
   
   
   
   
   
    public enum Peseta {UNA(1),
                       DURO(5),
                       CINCODUROS(25);
           private int valor;
           Peseta(int valor){
               this.valor=valor;
           }
    };
   
   
   
   

Unidad 3 Ejercicio 29: Juego acertar parejas de números

Se empleará sólo la clase tablero en lugar de definir tablero y una clase partida...



package unidad3ejercicio29;
import java.util.Scanner;

/**
*
* @author juan
*/
public class Unidad3Ejercicio29 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int fil=3,col=3,x1,x2,y1,y2;
     
        Tablero partida = new Tablero(fil,col);
  

Unidad 3 Ejercicio 27: Cuadrado Mágico

Cuadrado Mágico


/*
* 27. Un cuadrado mágico de orden N es una matriz cuadrada de dimensiones NxN
* que contiene a los números naturales de 1 a N2, tal que la suma de cualquier
* columna, fila o diagonal es siempre la misma. El algoritmo para construir el
* cuadrado mágico es:

1.- El número 1 se coloca en la casilla central de la primera fila.
2.- Cada número siguiente se coloca en la casilla correspondiente a la fila
* anterior y columna posterior.
3.- Si el número es el siguiente a un múltiplo de N no se aplica la regla 2,
* sino que se coloca en la casilla de la fila posterior en la misma columna.
4.- La fila anterior a la primera es la última.
5.- La columna posterior a la última es la primera.

*/
package unidad3ejercicio27;
import java.util.Scanner;
/**
*
* @author Juan
*/
public class Unidad3Ejercicio27 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner leo = new Scanner(System.in);
        int col,fil,num;
        int matriz[][];
      

Unidad 3 Ejericio 26

Hacer un programa que esté asignando valores al azar comprendidos entre 1 y 50 a una matriz de orden 8 x 10 hasta que se cumpla que la matriz generada tenga al menos un punto de silla. Cuando se halla generado una matriz que tenga puntos de silla se ha de escribir en pantalla la matriz generada, el punto de silla junto con sus coordenadas y el número de matrices que segeneraron hasta que se encontró una con puntos de silla. A continuación se muestra un ejemplo de la salida del programa:



lunes, 10 de marzo de 2014

Unidad 3 Ejercicio 25: Punto de Silla

Se define el punto de silla de una matriz como un elemento de&nbspla matriz que es el más pequeño de su fila y el más grande de su columna.
 Hacer un programa en el que se le den valores a una matriz en la declaración y que calcule si tiene o no punto de silla.


/*25. Se define el punto de silla de una matriz como un elemento de
* la matriz que es el más pequeño de su fila y el más grande de su columna.
* Hacer un programa en el que se le den valores a una matriz en la declaración
* y que calcule si tiene o no punto de silla.
*
*/
package unidad3ejercicio25;
import java.util.Random;

Examen 2º Cuatrimestre


*  Realizar obligatoriamente la pregunta 4. (3 ptos.)
** Seleccionar al menos dos de las tres primeras (3 ptos.)
***En caso de realizar los cuatro: el último valdrá (1 pto).


1.- Como entrada se solicitan números enteros por teclado, hasta leer un -1. El programa mostrará como resultado el mayor de los números introducidos en caso de que el número mayor se haya introducido más de una vez se mostrará además la palabra EMPATE.
Por ejemplo:
ENTRADA

10 20 30 40 32 40 -1

SALIDA

40 EMPATE


2.- Se introducen por teclado sucesivamente nombre y apellidos de un usuario que se DEBEN almacenar en un array bidimensional (los nombres en una columna y los apellidos en otra). La salida DEBE SER en cada línea:
a.- El nombre de la primera entrada seguido del apellido del último.
b.- El nombre del usuario que está en el medio de la tabla (o de los dos del medio en caso de ser un número par).
c.- El nombre de la última entrada seguido del apellido del primero.


3.- Leer una primera cadena, leer una segunda cadena. Como resultado mostrar el número de veces que la primera está incluida en la segunda.

Acepta el reto: Cuántas me llevo (124)

¿Cuántas me llevo?

Tiempo máximo: 2,000 s  Memoria máxima: 4096 KiB
Cuando aprendemos a sumar números pronto nos cuentan aquello de "llevarse una": cuando los dos dígitos que sumamos llegan a la decena tenemos "acarreo" que debemos sumar a los siguientes dígitos (de la izquierda).
Cuando nuestros maestros nos ponían ejercicios, antes tenían que contar cuántas veces tendríamos que "llevarnos una" y en base a eso medían la dificultad del ejercicio.
¿Puedes hacer un programa que automatice esa tarea?

Entrada

La entrada estará compuesta de numerosos casos de prueba, cada uno de ellos en una línea. En cada línea apareceran dos números positivos separados por un espacio. Se garantiza que los números no tendrán más de 1000 dígitos.
Los casos de prueba terminan con el caso especial 0 0, que no provocará salida.