39
Manual de prácticas JAVA 2015. Elaborado por: Ulises Martínez Flores Programación. Grupo “402”

Manual de prácticas java 2015

Embed Size (px)

Citation preview

Page 1: Manual de prácticas java 2015

Manual de prácticas JAVA 2015.

Elaborado por: Ulises Martínez Flores

Programación.

Grupo “402”

Page 2: Manual de prácticas java 2015

Figuras Rectangulares Descripción Tenemos un conjunto de cuadrados y rectángulos cuyos medidas de sus diferentes lados son cantidades enteras y mayores a 1 y , si tenemos el área de la figura, es posible que sea un cuadrado o un rectángulo.

Problema Construye un programa que nos ayude a resolver este problema (dada el área de una figura determinar si es cuadrado o rectángulo), la lectura la debes hacer de la entrada estándar (teclado) y la escritura se debe hacer a la salida estándar

(pantalla).

Entrada La primera línea contendrá un número "N" entre 1 y 1,000,000,000, representando el área.

Salida Una sola línea indicando la figura que se puede formar, si el área puede formar un cuadrado debes imprimir la palabra

“cuadrado” si el área puede formar un rectángulo, debes imprimir la palabra “rectangulo” y si el área puede formar ambos debe imprimir la palabra “ambos” (note no hay acentos ni mayusculas), en caso de que no se pueda formar un cuadrado o rectángulo escriba "ninguno"

Entrada Salida

9 cuadrado

6 rectangulo

36 ambos

Solucion:

import java.util.*;

public class figuras{

public static void main(String []args){

Scanner in=new Scanner (System.in);

int contador=0;

int n=in.nextInt();

int raiz =(int) Math.sqrt(n);

for(int i=2;i<n;i++){

if(n%i==0){

System.out.println("n:"+n+"i:"+i);

contador++;

}

}

Page 3: Manual de prácticas java 2015

System.out.println("contador"+contador);

if ((raiz*raiz)==n && contador>=2){

System.out.println ("ambos");

} else if ((raiz*raiz)!=n && contador >=2){

System.out.println("rectangulo");

}

else if ((raiz*raiz)==n){

System.out.println("cuadrado");

} else {

System.out.println("ninguno");

}

}

}

Page 4: Manual de prácticas java 2015

Ordenando Problema Dada una lista de números enteros hay que determinar si la lista esta ordenada de menor a mayor, de mayor a menor o sencillamente no está ordenada.

Entrada En la primera línea un valor “n” indicando la cantidad de valores que conforma la lista, donde 3<=n<=1000, en la segunda

línea los “n” números separados por un espacio, cada número está en el rango de 1 a 1,000,000,000.

Salida Una sola línea con 3 posibles valores, si la lista está ordenada de menor a mayor debes escribir la palabra “CRECIENTE” si la lista esta ordenada de mayor a menor debes escribir la palabra “DECRECIENTE” y si la lista no esta ordenada debes escribir la frase “NO ORDENADA”. Te aseguramos que no existe un caso con posibilidad de empate (que pueda

ser creciente y decreciente).

Consideraciones Tu programa se evaluará con varios casos de prueba.

Ejemplos

Entrada Salida Descripción 5 10 20 30 40 40

CRECIENTE Case #1:

3 3 2 2

DECRECIENTE Case #2:

4 1 10 10 5

NO ORDENADA Case #3:

Solucion:

import java.util.*;

public class ordenado{

public static void main(String []args){

Scanner in=new Scanner (System.in);

int n=in.nextInt();

int []numeros=new int [n];

for(int i=0; i<n;i++){

numeros [i]=in.nextInt ();

}

ImprimeArray(numeros, n);

}

public static void ImprimeArray (int [] n, int num){

for(int i=0;i<num;i++){

Page 5: Manual de prácticas java 2015

System.out.println("N ->" + n [i]);

}

}

public static void checarOrden (int [] n, int num ){

int c=0, d=0;

for(int i=1; i<num;i++){

if (n[i-1]<=n[i]){

c++;

}else if (n[i-1]>=n[i]){

d++;

}

}

if (c==(num-1)){

System.out.println("CRECIENTE");

}

else if (d==(num-1)){

System.out.println("Decreciente");

}

else {

System.out.println("NO ORDENADO");

}

}

}

Sumando Problema Se tiene un matriz cuadrada de tamaño “n” y se requiere saber cuánto suma cada columna.

Page 6: Manual de prácticas java 2015

Entrada En el primer renglón un valor “n” indicando el tamaño de la matriz donde 1<=n<=1000 y en los siguientes “n” renglones habrán “n” valores correspondientes los valores de cada renglón de la matriz donde 1<=V<= 1000.

Salida Un renglón con “n” cantidades, cada cantidad representa la sumatoria de cada columna de la matriz, el primer valor corresponde a la columna 1, el segundo a la columna 2 ,... y el último valor corresponde a la columna “n”.

Consideraciones Tu programa se evaluará con varios casos de prueba.

Ejemplos Entrada

Salida

Descripción

3 1 2 3 3 5 6 7 8 9

11 15 18 Case #1:

4 3 2 4 3 2 3 3 2 7 8 5 3 1 1 1 1

13 14 13 9

Case

Solucion: import java.util.*;

public class sumando{

public static void main (String []args){

Scanner in=new Scanner (System.in);

int n=in.nextInt();

int numeros [][]= new int [n][n];

int suma [] = new int [n];

for(int i=0;i<n;i++){

for (int k=0;k<n ;k++ ) {

numeros [i][k]=in.nextInt();

suma[i]=0;

}

}

Imprimir(numeros,n);

obtenersuma(numeros, n, suma);

imprimirsuma (suma, n);

Page 7: Manual de prácticas java 2015

}

public static void Imprimir (int [] [] numeros, int n){

for (int i=0;i<n ;i++ ) {

for (int k=0; k<n; k++) {

System.out.print("numeros["+ (i+1)+ "]["+(k+1)+"]=>"+numeros[i][k]+" ");

}

System.out.println (" ");

}

}

public static void obtenersuma(int [] [] numeros, int n, int [] suma){

for (int i=0;i<n;i++){

for (int k=0;k<n ;k++ ) {

suma[i]+=numeros[k][i];

}

}

}

public static void imprimirsuma (int [] suma, int n){

for (int i=0;i<n ;i++ ) {

System.out.print(" "+suma[i]+" ");

}

}

Page 8: Manual de prácticas java 2015

}

Ejemplo:

Frecuencias Descripción Cierta escuela realiza cuestionarios para conocer al profesor favorito de los alumnos. Y lo realiza de la siguiente manera; a cada profesor se le asigna un número posteriormente a cada alumno se le pregunta cual es su profesor favorito, posteriormente, se calcula una tabla de frecuencia indicando en cada profesor cual es la cantidad de alumnos que lo eligieron.

Problema Escribe un programa que ayude a la escuela a escribir la tabla de frecuencias.

Entrada

Page 9: Manual de prácticas java 2015

En la primera línea el número “P” que indica la cantidad de profesores que tiene la escuela donde 1<=P <= 100 y el número “n” que indica la cantidad de alumnos en la escuela donde 1<=n<=1000. en la siguiente línea habrán “n” números que representan el número de profesor favorito “F” de cada alumno donde 1<=F<=P.

Salida Deberá haber “P” cantidad de líneas y en cada una dos números separados por un guión, el primer número será el número del profesor y el segundo número la cantidad de alumnos que lo eligieron.

Consideraciones Tu programa se evaluará con varios casos de prueba.

Ejemplo Entrada

Salida

Descripción

4 10 1 1 2 1 1 2 3 2 3 4

1-4 2-3 3-2 4-1

Case #1:

4 8 1 2 4 1 2 4 1 2

1-3 2-3 3-0 4-2

Case #2:

Solucion:

import java.util.*;

public class frecuencia{

public static void main (String []args){

Scanner n=new Scanner (System.in);

int np=n.nextInt();

int ap[]=new int[np];

int na=n.nextInt();

int voto[]=new int[na];

for(int a=0;a<na;a++){

voto [a]=n.nextInt();

ap[voto[a]-1]++;

}

for (int b=0;b<np ;b++ ) {

System.out.println("profesor"+(b+1)+" =>"+ap[b]);

}

Page 10: Manual de prácticas java 2015

}

}

Ejemplo:

Cuadrado Descripción. A continuación te mostramos un giro de 90 grados a la derecha de una matriz de 2 por 2 cuyos valores son: Matriz original 1 2 3 4

Matriz Girada 90° a la derecha 3 1 4 2

Problema Dada una matriz cuadrada de tamaño “n” , debes hacer que tu programa la gire 90 grados a la derecha.

Page 11: Manual de prácticas java 2015

Entrada En la primera línea el valor “n” indicando el tamaño de la matriz donde 1<=n<=1000, en los siguientes “n” renglones habrán “n” valores de la matriz separados por un espacio.

Salida “n” renglones cada renglón con "n" valores mostrando la matriz girada 90 grados. Consideraciones Tu programa se evaluará con varios casos de prueba

Ejemplo Entrada

Salida

Descripción

2 1 2 3 4

3 1 4 2

Case #1:

3 1 2 3 4 5 6 7 8 9

7 4 1 8 5 2 9 6 3

Case #2:

Solucion:

import java.util.*;

public class movimiento90{

public static void main(String[]args){

Scanner lol=new Scanner(System.in);

int xl=lol.nextInt();

int numeros[][]=new int[xl][xl];

for(int i=0; i<xl; i++){

for(int j=0; j<xl; j++){

numeros [i][j]=lol.nextInt();

}

}

for(int i=0; i<xl; i++){

for(int j=(xl-1); j>=0;j--){

System.out.print(numeros[i][j]+" ");

}

System.out.println(" ");

Page 12: Manual de prácticas java 2015

}

}

}

Ejemplo:

Bardeando Descripción Se tiene un conjunto de “n” trozos de malla ciclónica y un terreno de perímetro “P” el terreno es cuadrado.

Problema Debes escribir un programa que nos diga cuántos metros de malla ciclonica nos hace falta para poder bardear el

terreno.

Entrada En la primera línea dos números “P” y "n", donde "P" representa el perímetro del terreno con un rango de valores de 1<=P <= 2,000,000,000 y “n” representa la cantidad de trozos de malla ciclónica que tenemos, donde 1<=n<=100,000. En las siguientes “n” líneas es el tamaño de cada trozo de malla que tenemos. La suma de todos los trozos siempre será menor a 2147483648.

Salida Un único valor entero indicando los metros de malla que nos hacen falta para bardear el terreno.

Ejemplos Entrada

Salida

Descripción

100 3 25

45 Caso #1

Page 13: Manual de prácticas java 2015

20 10 100 2 1000 2000

0 Caso #2

21 1 20

1 Caso #3

Solucion:

import java.util.*;

public class bardeando{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int t=in.nextInt();

int trozos []= new int [t];

int total []= new int [t];

for (int i=0;i<t ; i++) {

trozos[i]=in.nextInt();

}

int x=trozos[0];

for(int i=1;i<t;i++){

x=x+trozos[i];

}

System.out.println(x);

if (x==a){

System.out.println("faltan 0 mts");

}

else if(x>a){

System.out.println("faltan 0 mts");

}

Page 14: Manual de prácticas java 2015

else if (x<a) {

int q=a-x;

System.out.println("fatltan "+ q+ " metros");

}

}

}

Ejemplo:

Matriz Cuadrada

Descripción Descripción Tenemos una matriz de “R” renglones por “C” columnas, donde podemos enumerar las casillas de la siguiente manera, la casilla 1,1 (renglón 1, columna 1), la casilla 1,2 (renglón 1, columna 2) y la casilla 1,3 (renglón 1, columna 3 ) serían respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura, donde la casilla 1,1 es la esquina superior izquierda y la celda “R” x “C” es la celda ubicada en la esquina inferior derecha. En esta cuadrícula, podemos hacer preguntas de la forma, ¿que número está en la casilla 1,2 ? y su respuesta sería 2 otro ejemplo ¿qué número está en la celda 2,3? y su respuesta es 6.

Problema Escribe un programa que dada las dimensiones de la cuadrícula responda una cantidad “P” de preguntas.

Entrada En la primera línea dos valores indicando las dimensiones de la cuadrícula separados por un espacio „R‟ cantidad

de renglones donde 1<=R<=10000 y “C” cantidad de columnas donde 1<=C<=10000, En la tercera línea el número “P” cantidad de preguntas donde 1<=P<=10,000 y en las siguientes “P” líneas un par de coordenadas de la forma r, c, representando las coordenadas de cada pregunta en donde “r” indica el renglón 1<=r<=R y “c” la columna 1<=c<=C por cada pregunta.

Salida Por cada pregunta debe escribir en cada línea el número de casilla que le corresponde.

Ejemplos Entrada

Salida

Descripción

3 3 3 1 1 2 2 3 3

1 5 9 Caso #1

3 1000 2 2 1 2 10

1001 2010

Caso #2

Page 15: Manual de prácticas java 2015

Solucion:

import java.util.*;

public class matriz2{

public static void main (String []args){

Scanner in=new Scanner (System.in);

int fila=in.nextInt();

int columna=in.nextInt();

int n=in.nextInt();

int ar[][]=new int [n][2];

int res []=new int [n];

for(int i=0;i<n;i++){

for (int k=0;k<=1 ;k++ ) {

ar[i][k]=in.nextInt();

}

}

for(int i=0;i<n;i++){

res[i]=((ar[i][0]-1)*columna)+ar[i][1];

}

for (int c=0;c<n ;c++ ) {

System.out.println(""+res[c]);

}

}

}

Ejemplo:

Page 16: Manual de prácticas java 2015

Suma Triple Descripción Se tiene la siguiente función f(n), formada por la suma de los tres números anteriores.

f(1)=1 f(2)=1 f(3)=2 f(4)=4 f(5)=7 f(6)=13 f(7)=24 f(8)=44 f(9)=81 Note que f(1) = 1 ya que no tiene números anteriores, f(2)=1 ya que es el único número ante rior, f(3) tiene solo 2

números anteriores y a partir de f(4) se da la suma de los tres números anteriores.

Problema Escribe un programa que dado el valor de “n” escriba la serie correspondiente.

Entrada Un solo renglón conteniendo el valor “n”donde 1<=n<=64.

Salida Una sola línea mostrando la serie desde el número

menor hasta el mayor cada número debe estar separado por un espacio. Entrada

Salida

Descripción

4 1 1 2 4 Caso #1 6 1 1 2 4 7 13 Caso #2 9 1 1 2 4 7 13

24 44 81 Caso #3

Solucion:

import java.util.*;

public class trilpe{

public static void main (String []args){

Page 17: Manual de prácticas java 2015

Scanner in=new Scanner (System.in);

int cantidad=in.nextInt();

int pre []=new int [cantidad];

for(int i=0;i<cantidad;i++){

if(i<2){

pre[i]=1;

}

else if (i==2){

pre[i]=pre[0]+pre[1];

}

else{

pre[i]=pre[i-1]+pre[i-2]+pre[i-3];

}

}

for (int i=0;i<cantidad ;i++ ) {

System.out.println(pre [i]);

}

}

}

Ejemplo:

Triángulo Descripción

Page 18: Manual de prácticas java 2015

Un triángulo es formado por 3 segmentos (con valor entero) de recta unidos por sus extremos, sin embargo no todas las combinaciones de 3 segmentos pueden formar un triángulo.

Problema Escriba un programa que dados 3 números que representan 3 segmentos de rectas, diga si pueden formar un triángulo rectángulo.

Entrada En la primera línea 3 números “a”, “b” y “c” representando las longitudes de 3 segmentos de recta en un rango de entre 1 y 32,000.

Salida Una sola línea en donde si es posible generar un triángulo rectángulo debes imprimir la hipotenusa, el cateto mayor y el cateto menor y si no es posible formar un triángulo rectángulo imprime la palabra “imposible”.

Consideraciones Tu programa se evaluará con varios casos de prueba, para cada caso de prueba (entrada)

Ejemplos Entrada

Salida

Descripción

1 1 1 imposible

Caso #1

3 4 5 5 4 3 Caso #2

Solucion:

import java.lang.Math;

import java.util.*;

public class triangulo{

public static void main(String[] args) {

Scanner b1= new Scanner (System.in);

Scanner b2= new Scanner (System.in);

Scanner b3= new Scanner (System.in);

int a,b,c,ax,bx,cx,d,e,f;

Double raiz;

System.out.println("Ingresa los numeros");

a=b1.nextInt();

b=b2.nextInt();

Page 19: Manual de prácticas java 2015

c=b3.nextInt();

ax=a*a;

bx=b*b;

cx=c*c;

if (a>=b){

if(a>=c){

if(b>=c){

System.out.println("\n N:"+a+"\n N:"+b+"\n N:"+c);

d=bx+cx;

raiz=Math.sqrt(d);

if(raiz==a){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+a+"\n Cateto Adyacente

"+b+"\n Cateto Opuesto "+c);

}

else{

System.out.println("Es imposible");

}

}

else{

System.out.println("\n N:"+a+"\n N:"+c+"\n N:"+b);

d=cx+bx;

raiz=Math.sqrt(d);

if(raiz==a){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+a+"\n Cateto Adyacente

"+c+"\n Cateto Opuesto "+b);

}

else{

System.out.println("Es imposible");

}

}

Page 20: Manual de prácticas java 2015

}

else{

System.out.println("\n N:"+c+"\n N:"+a+"\n N:"+b);

d=ax+bx;

raiz=Math.sqrt(d);

if(raiz==c){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+c+"\n Cateto Adyacente

"+a+"\n Cateto Opuesto "+b);

}

else{

System.out.println("Es imposible");

}

}

}

else {

if(b>=c){

if(c>=a){

System.out.println("\n N:"+b+"\n N:"+c+"\n N:"+a);

d=ax+cx;

raiz=Math.sqrt(d);

if(raiz==b){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+b+"\n Cateto Adyacente

"+c+"\n Cateto Opuesto "+a);

}

else{

System.out.println("Es imposible");

}

}

Page 21: Manual de prácticas java 2015

else{

System.out.println("\n N:"+b+"\n N:"+a+"\n N:"+c);

d=ax+cx;

raiz=Math.sqrt(d);

if(raiz==b){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+b+"\n Cateto Adyacente

"+a+"\n Cateto Opuesto "+c);

}

else{

System.out.println("Es imposible");

}

}

}

else{

System.out.println("\n N:"+c+"\n N:"+b+"\n N:"+a);

d=ax+bx;

raiz=Math.sqrt(d);

if(raiz==c){

System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+c+"\n Cateto Adyacente

"+b+"\n Cateto Opuesto "+a);

}

else{

System.out.println("Es imposible");

}

}

}

}

}

Romanos

Page 22: Manual de prácticas java 2015

Descripción Escribe un programa que lea un entero entre 1 y 100 e imprima su equivalencia en números romanos.

Entrada Una línea con el entero a convertir.

Salida la conversión a números romanos (en mayúsculas).

Solucion:

import java.util.Scanner;

public class romanos{

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

String Unidad[]={"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};

String Decena[]={"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};

int N = sc.nextInt();

int u=N%10;

int d=(N/10)%10;

if(N==100){

System.out.println("C");

}

else if(N>=10){

Ejemplos Entrada

Salida

Descripción

48 Salida XLVIII

Las equivalencias de

números arábigos a

romanos son:

I 1

V 5

X 10

L 50

C 100

Page 23: Manual de prácticas java 2015

System.out.println(Decena[d]+Unidad[u]);

}

else{

System.out.println(Unidad[N]);

}

}

}

Ejemplo:

Page 24: Manual de prácticas java 2015

Tablero de Ajedrez Descripción Dadas las coordenadas de una casilla en un tablero de ajedrez de 8x8, determinar el color de dicha casilla.

Entrada Una línea con la letra y dígito separados por espacios correspondientes a la coordenada de la casilla.

Salida Imprime BLANCO, NEGRO según sea el caso.

Ejemplos Entrada

Salida

a 1 Salida NEGRO

Solucion:

import java.util.*;

public class ajedrez{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

String a=in.nextLine();

int b=in.nextInt();

if(a.equals("a")){

if(b==1){

System.out.println("negro");

}

else if(b==3){

System.out.println("negro");

}

Page 25: Manual de prácticas java 2015

else if(b==5){

System.out.println("negro");

}

else if(b==7){

System.out.println("negro");

}

else{

System.out.println("blanco");

}

}

else if(a.equals("b")){

if(b==1){

System.out.println("blanco");

}

else if(b==3){

System.out.println("blanco");

}

else if(b==5){

System.out.println("blanco");

}

else if(b==7){

System.out.println("blanco");

Page 26: Manual de prácticas java 2015

}

else{

System.out.println("negro");

}

}

if(a.equals("c")){

if(b==1){

System.out.println("negro");

}

else if(b==3){

System.out.println("negro");

}

else if(b==5){

System.out.println("negro");

}

else if(b==7){

System.out.println("negro");

}

else{

System.out.println("blanco");

}

Page 27: Manual de prácticas java 2015

}

else if(a.equals("d")){

if(b==1){

System.out.println("blanco");

}

else if(b==3){

System.out.println("blanco");

}

else if(b==5){

System.out.println("blanco");

}

else if(b==7){

System.out.println("blanco");

}

else{

System.out.println("negro");

}

}

if(a.equals("e")){

if(b==1){

System.out.println("negro");

Page 28: Manual de prácticas java 2015

}

else if(b==3){

System.out.println("negro");

}

else if(b==5){

System.out.println("negro");

}

else if(b==7){

System.out.println("negro");

}

else{

System.out.println("blanco");

}

}

else if(a.equals("f")){

if(b==1){

System.out.println("blanco");

}

else if(b==3){

System.out.println("blanco");

}

else if(b==5){

Page 29: Manual de prácticas java 2015

System.out.println("blanco");

}

else if(b==7){

System.out.println("blanco");

}

else{

System.out.println("negro");

}

}

if(a.equals("g")){

if(b==1){

System.out.println("negro");

}

else if(b==3){

System.out.println("negro");

}

else if(b==5){

System.out.println("negro");

}

else if(b==7){

System.out.println("negro");

Page 30: Manual de prácticas java 2015

}

else{

System.out.println("blanco");

}

}

else if(a.equals("h")){

if(b==1){

System.out.println("blanco");

}

else if(b==3){

System.out.println("blanco");

}

else if(b==5){

System.out.println("blanco");

}

else if(b==7){

System.out.println("blanco");

}

else{

System.out.println("negro");

}

}

}

}

Page 31: Manual de prácticas java 2015

Intervalo Descripción Escribe un programa que lea tres enteros a, b, c y determine si c se encuentra en el intervalo [a,b], a la izquierda o a la derecha de dicho intervalo.

Entrada Una línea con los enteros a,b,c separados por un espacio

Salida Imprime INTERVALO, IZQUIERDA o DERECHA según sea el caso.

Ejemplos Entrada Salida Descripción

3 10 6 Salida INTERVALO

6 se encuentra contenido

en el intervalo desde 3

hasta 10

Solucion:

import java.util.*;

public class intervalo{

public static void main(String []args){

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int b=in.nextInt();

int c=in.nextInt();

if (c<a){

if(c<b){

System.out.println("Izquierda");

}

else if (c==b){

System.out.println("intervalo");

}

else {

System.out.println("intervalo");

Page 32: Manual de prácticas java 2015

}

}

else if (c==a){

System.out.println("intervalo");

}

else {

if(c<b){

System.out.println("intervalo");

}

else if (c==b){

System.out.println("intervalo");

}

else {

System.out.println("derecha");

}

}}}

Sedes Descripción Ahora que estás en la preselección de Veracruz, debes prepararte mucho para ser seleccionado. Como parte de este proceso, se deben realizar algunos entrenamientos y de preferencia en varias sedes del estado, por ejemplo Coatzacoalcos, Veracruz, Xalapa, Tuxpan, etc. Puesto que a ti te gusta viajar mucho, quieres asistir a las dos sedes que estén más lejos entre sí.

Suponiendo que todas las sedes se encontraran en línea recta, una tras de otra, identifica, cuál es la distancia más larga que deberías recorrer entre dos sedes.

Entrada En la primera línea el número n, que indica la cantidad de sedes para este año. 1<=n<=100000. En las siguientes n

líneas un número indicando la distancia de esa sede con respecto a tu ubicación actual entre 0<=d <=5000. Supón que tu ubicación actual es el inicio de la línea recta, por lo que todas las distancias serán positivas. Siempre te encuentras en el km 0, y en el ejemplo la primera sede está a 7 kilómetros de tu ubicación, la segunda a 5, la tercera a 13, y la cuarta a 4 kilómetros de tu ubicac

Salida Un solo número con un salto de línea, indicando la distancia máxima que hay entre dos sedes.

Page 33: Manual de prácticas java 2015

Ejemplo 4 7 5 13 4

9

Solucion:

import java.util.*;

public class sede3{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int ar[]=new int [a];

for (int i=0;i<a ;i++ ){

ar[i]=in.nextInt();

}

int c=ar[0];

for (int i=1;i<a ;i++ ) {

if (ar[i]>c){

c=ar[i];

}

}

Page 34: Manual de prácticas java 2015

int q=ar[0];

for (int i=1;i<a ;i++ ) {

if (ar[i]<q){

q=ar[i];

}

}

int x=c-q;

System.out.println(" "+x);

}

}

Ejemplo:

Page 35: Manual de prácticas java 2015

No-Fibonacci "Leonardo de Pisa o Leonardo Pisano o Leonardo Bigollo(c. 1175 - 1250), tambi llamado Fibonacci, fue un matemático italiano,famoso por la invención de la sucesión de Fibonacci, surgida como consecuencia del estudio del crecimiento de las poblaciones de conejos" Wikipedia La sucesión de Fibonacci es una serie de números enteros positivos de la cual sus primeros 2 números son 1 y 2, luego de eso, cada número es el resultado de sumar los dos anteriores de dicha serie de la siguiente forma: 1, 2, 3, 5, 8, 13, 21, 34, 55... Nótese que 1+2=3, 2+3=5, 5+8=13, 13+21=34, 21+34=55 ... Ahora, podrías pensar que el problema será calcular la serie de fibonacci, sin embargo es exactamente lo contrario.

Problema Escribe un programa que imprima en pantalla todos los números enteros positivos estrictamente menores que N que NO pertenezcan a la serie de Fibonacci.

Entrada Tu programa deberá de leer del un solo número entero 2 ≤ N ≤ 30000 (30 mil)

Salida Tu programa deberá imprimir en pantalla todos los números enteros positivos menores que N que no formen parte de la serie de Fibonacci, deberá imprimirlos en orden creciente, separados por espacios.

Ejemplo Entra

da

Salida

9 4 6 7

Solucion:

import java.util.*;

public class fibo2{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int ar []=new int [a];

if (a>2) {

ar[0]=1;

ar[1]=1;

for (int i=2;i<a ;i++ ) {

Page 36: Manual de prácticas java 2015

ar[i]=ar[i-1]+ar[i-2];

}

}

else if(a==2){

ar[0]=1;

ar[1]=1;

}

else if (a<2){

ar[0]=1;

}

int ar1 []=new int [a];

for (int i=0;i<a ;i++ ) {

ar1[i]=i+1;

}

for (int i=0;i<a ;i++ ) {

for (int k=1;k<a ;k++ ) {

if (ar1[i]==ar[k]){

k=a-1;

}

else if (k==(a-1)){

System.out.println(ar1[i]);

}

}

}

System.out.println("\n");

}

}

Page 37: Manual de prácticas java 2015

Divisores

Dado un numero presentado tenéis que sacar sus divisores de dicho número.

Ejemplo:

Entrada Salida

4

10 12 5

6

10 12 5 6

Solucion:

import java.util.*;

public class divisores{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int c[]=new int [a];

for (int i=0;i<a ;i++ ) {

c[i]=in.nextInt();

int cx=c[i];

int d[]=new int [cx];

for (int k=0;k<cx ;k++ ) {

int ax=k+1;

d[k]=c[i]%ax;

if (d[k]==0) {

System.out.println(" "+ax);

}

Page 38: Manual de prácticas java 2015

}

}

}

}

Page 39: Manual de prácticas java 2015

Desarrollador: Ulises Martínez Flores

Grupo “402”

CeCyTem