resolución de problemas con java

42
Resolución de Problemas con java Presenta Castro ramos diego Osvaldo Grupo “402” Escuela Cecytem Plantel Tecámac

Upload: diegocastro1234

Post on 21-Jul-2015

258 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Resolución de problemas con java

Resolución de Problemas con java

Presenta

Castro ramos diego Osvaldo

Grupo

“402”

Escuela

Cecytem Plantel Tecámac

Page 2: Resolución de problemas con java

Sumando

Problema

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

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”.

Ejemplos

Entrada Salida Descripción

3

1 2 3 3 5 6

7 8 9

11 15 18 Case #1

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(); Figura 1.1

suma[i]=0;

}

}

Imprimir(numeros,n);

Page 3: Resolución de problemas con java

obtenersuma(numeros, n, suma);

imprimirsuma (suma, n);

}

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]+" ");

}

}

}

El problema lo puedes apreciar en la figura 1.1

Page 4: Resolución de problemas con java

Calculadora:

Problema:

Se tiene que realizar una clase principal y agregar unas clases privadas este es un claro ejemplo de

programación orientada a objetos este programa realiza las 4 operaciones básicas

Entrada:

Realizara las operaciones con dos números ya introducidos

Salida:

Me mostrara los resultados de las operaciones

Entrada Salida Descripcion

20+10 20-10 20*10 20/10

30 10 200 2

Case#1

Este es el código de la clase principal

import java.util.*;

public class calculadora{

int n1;

int n2;

calculadora(int a,int b){

this.n1=a;

this.n2=b;

System.out.println("constructor 2");

}

calculadora(){

System.out.println("hola constructor calculadora");

}

calculadora(int n){

this.n1=n;

System.out.println("Numero1");

}

Page 5: Resolución de problemas con java

calculadora(String msj){

System.out.println("tu mensaje es:"+msj);

}

public int suma(){

return n1+n2; }

public int resta(){

return n1-n2;

}

public int multi(){

return n1-n2;

}

public int divi(){

return n1-n2;

}

public void setNumero1(int n){

this.n1=n;

}

public void setNumero2(int n){

this.n2=n;

}

public int getNumero1(int n){

return n1;

}

public int getNumero2(int n){

return n2;

}

public void aCadena (){

System.out.println ("numero1:"+n1+"\n numero2:"+n2);

}

Page 6: Resolución de problemas con java

}

Este es el código de las clases privadas

import java.util.*;

public class calculadora{

int n1;

int n2;

calculadora(int a,int b){

this.n1=a;

this.n2=b;

System.out.println("constructor 2");

}

calculadora(){

System.out.println("hola constructor calculadora");

}

calculadora(int n){

this.n1=n;

System.out.println("Numero1");

}

calculadora(String msj){

System.out.println("tu mensaje

es:"+msj);

}

public int suma(){

return n1+n2;

}

public int resta(){

return n1-n2;

Page 7: Resolución de problemas con java

}

public int multi(){

return n1-n2;

}

public int divi(){

return n1-n2;

}

public void setNumero1(int n){

this.n1=n;

}

public void setNumero2(int n){

this.n2=n;

}

public int getNumero1(int n){

return n1;

}

public int getNumero2(int n){

return n2;

}

public void aCadena (){

System.out.println ("numero1:"+n1+"\n numero2:"+n2);

}

}

El resultado lo puedes apreciar en la figura 1.2

Page 8: Resolución de problemas con java

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.

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 3 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

Código:

import java.util.*;

public class cuadrado{

public static void main (String []args){

Page 9: Resolución de problemas con java

Scanner in=new Scanner (System.in);

int n=in.nextInt();

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

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

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

numeros [x][y]=in.nextInt();

}

}

System.out.println("Giro de 90°");

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

for (int y=(n-1);y>=0;y--) {

if (y==0){

System.out.print(numeros[y][x]+" ");

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

}

else{

System.out.print(numeros[y][x]+" "); Figura 1.3

}

}

}

}} El resultado de puede apreciar en la Figura 1.3

Page 10: Resolución de problemas con java

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 20 10

45 Case#1

100 2 1000 2000

0 Case#2

Código :

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();

Page 11: Resolución de problemas con java

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){ Figura1.4

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

}

else if(x>a){

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

}

else if (x<a) {

int q=a-x;

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

}

}

}

El resultado se puede apreciar en la figura 1.4

Page 12: Resolución de problemas con java

Triangulo:

Descripción

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)

Código:

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;

a=b1.nextInt();

b=b2.nextInt();

Page 13: Resolución de problemas con java

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 14: Resolución de problemas con java

}

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){ Figura 1.5

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");

}

}

else{

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

Page 15: Resolución de problemas con java

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");

}

}

}

} } El resultado se puede apreciar en la figura 1.5

Page 16: Resolución de problemas con java

Matriz Cuadrada

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 Case#1

3 1000 2 2 1 2 10

1001 1010

Case#2

Código:

import java.util.*;

public class matriz2{

public static void main (String []args){

Scanner in=new Scanner (System.in);

int fila=in.nextInt();

Page 17: Resolución de problemas con java

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]; Figura 1.6

}

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

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

}

}

}

El resultado se puede apreciar en la figura 1.6

Page 18: Resolución de problemas con java

Suma:

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 anterior, 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.

Código:

import java.util.*;

public class suma{

public static void main (String []args){

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int b=1;

int x;

Page 19: Resolución de problemas con java

int pre []=new int [a];

pre[0]=1;

pre[1]=1;

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

if (pre[0]<=pre[i-1]){

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

pre [i]=x;

}

}

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

System.out.println(pre[q]); Figura 1.7

}

}

}

Page 20: Resolución de problemas con java

Intervalo

Descripción

En este problema buscamos ingresar tres números de los cuales el tercer número ingresado debe de

mostrarnos que secuencia lleva si su secuencia es menor que los números ingresados anteriormente

debe de mostrarnos un mensaje que diga

Entrada

Tres números enteros (dependiendo del valor del tercer numero imprimirá los mensajes).

Salida

Un mensaje especificando el tipo de secuencia.

Ejemplo:

Entrada Salida Descripción

3 6 9

DERECHA Caso 1

3 6 2

IZQUIERDA Caso 2

3 6 4

INTERVALO Caso 3

Solución

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");

Page 21: Resolución de problemas con java

}

else if (c==b){

System.out.println("intervalo");

}

else {

System.out.println("intervalo");

}

}

else if (c==a){ imagen 1.8

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");

}}}}

El resultado se puede apreciar en la imagen 1.8

Page 22: Resolución de problemas con java

Romanos

Descripcion

En este programa se pretende realizar un programa que al ingresar cierta cantidad entre 1 -100 nos

imprima un mensaje que nos de la cantidad en numeros romanos.

Entrada

Un numero cualquiera entero entre 1-100.

Salida

Un mensaje que nos muestre la cantidad en numeros romanos.

Ejemplo

Entrada Salida Descripcion

45 XLV Caso 1

34 XXXIV Caso 2

100

c Caso 3

Solución

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"};

Page 23: Resolución de problemas con java

int N = sc.nextInt();

int u=N%10;

int d=(N/10)%10;

if(N==100){

System.out.println("C");

}

else if(N>=10){ imagen 1.9

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

}

else{

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

}

}

}

El resultado se puede apreciar en la imagen 1.9

Page 24: Resolución de problemas con java

Ajedrez

Descripción

En este problema se pretende realizar un programa que identifique las casillas de un tablero de

ajedrez de 8x8 en donde al ingresar una coordenada del tablero identifique si la casilla es blanca o

negra según corresponda.

Entrada

Una coordenada tomando en cuenta que se ingresa una letra y un número para indicar la

coordenada.

Salida

Un mensaje que diga blanco o negro según corresponda.

Ejemplo

Entrada Salida Descripcion

a 5 Negro Caso 1

C 4 Blanco

Caso 2

Page 25: Resolución de problemas con java

Solucion

import java.util.*;

import java.math.*;

public class ajedrez{

public static void main(String[]args){

Scanner con=new Scanner (System.in);

String a=con.nextLine();

int b=con.nextInt();

int res=0;

switch (a){

case "a":

res=b%2;

if(res==1 ){

System.out.println("Black");

}

else{

System.out.println("White");

}

break;

case "b":

Page 26: Resolución de problemas con java

res=b%2;

if(res==1 ){

System.out.println("White");

}

else{

System.out.println("Negro");

}

break;

case "c":

res=b%2;

if(res==1 ){

System.out.println("Black");

}

else{

System.out.println("White");

}

break;

case "d":

res=b%2;

if(res==1 ){

System.out.println("White");

Page 27: Resolución de problemas con java

}

else{

System.out.println("Black");

}

break;

case "e":

res=b%2;

if(res==1 ){

System.out.println("Black");

}

else{

System.out.println("White");

}

break;

case "f":

res=b%2;

if(res==1 ){

System.out.println("White");

}

Page 28: Resolución de problemas con java

else{

System.out.println("Black");

}

break;

case "g":

res=b%2;

if(res==1 ){

System.out.println("Black");

}

else{

System.out.println("White");

}

break;

case "h":

res=b%2;

if(res==1 ){ Figura 2.0

System.out.println("White");

}

else{

System.out.println("Black");

Page 29: Resolución de problemas con java

}

break;

default:

break;

}}}

EL resultado se puede apreciar en la figura 2.0

Page 30: Resolución de problemas con java

Sedes

Descripcion

Se busca un programa donde al ingresar una cantidad n de números enteros imprima como resultado la

distancia máxima entre dos distancias esto quieres decir que al ingresar una cadena de números el numero

mayor le restara el numero menor

Entrada

Una numero indicando cuantas distancias va a ingresar

Salida

Un solo numero indicando la distancia máxima entre la cadena de números

Ejemplo

Entrada Salida Descripcion 4

7 5

13 4

9 Caso 1

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];

Page 31: Resolución de problemas con java

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

if (ar[i]>c){

c=ar[i];

}

}

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); Figura 2.1

}

}

El resultado se puede apreciar en la figura 2.1

Page 32: Resolución de problemas con java

No Fibonacci

Descripcion

La serie de Fibonacci es una serie de números que lleva una secuencia de

sumar los dos números anteriores 1, 2, 3, 5, 8, 13, 21, 34, 55... El problema

es calcular exactamente lo contrario ósea la serie que no lleve los números

de Fibonacci.

Entrada

Un numero indicando hasta donde llegara la serie de no Fibonacci

Salida

Una serie de números indicando la serie de no Fibonacci hasta el numero

que se introdujo.

Ejemplo

Entrada Salida Descripcion

9 4 6 7 Caso 1

Solución

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];

Page 33: Resolución de problemas con java

if (a>2) {

ar[0]=1;

ar[1]=1;

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

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++ ) { Figura 2.2

ar1[i]=i+1;

}

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

Page 34: Resolución de problemas con java

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");

}

}

El resultado se puede apreciar en la figura 2.2

Page 35: Resolución de problemas con java

Dados

Descripcion

El dado tiene seis lados y en cada lado viene un numero del uno al seis en este problema buscamos

ingresar un número y que nos dé como resultado saber cuál es la suma máxima de los números

ingresados y cuál es la mínima según las tiradas que allá hecho.

Entrada

Un número indicando las tiradas y los números que salieron por tirada

Salida

La suma máxima de los números y la mínima

Ejemplo

Entrada Salida Descripcion

4 5

2 3

6

Máxima 15 Mínima 5

Caso 1

Solución

import java.util.*;

public class dado{

public static void main(String [] args){

Scanner z=new Scanner (System.in);

int a=z.nextInt();

int i, x, y, l=1;;

int dado [] = new int [a];

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

dado[i]=z.nextInt();

}

System.out.print(" ");

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

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

Page 36: Resolución de problemas con java

if(dado [i]>dado[x]){

y=dado[i];

dado[i]=dado[x];

dado[x]=y;

}

}

}

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

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

}

int c=dado[0]+dado[1];

System.out.println("La suma minima es ,"+c);

int e=dado[a-2]+dado[a-1];

System.out.println("La suma maxima es ,"+e);

System.exit(0);

}

}

Figura 2.3

Page 37: Resolución de problemas con java

Año Bisiesto

Descripcion

Cada cuatro años el mes de febrero tiene 29 días lo cual significa que el año es bisiesto en este

problema lo que busca en saber cuáles son y cuales no bisiestos .Realizar un programa que te diga

cuales son bisiestos y cuales no

Entrada

Un número indicando los años que va a introducir y los años

Salida

Mensajes diciendo si es o no año bisiesto

Ejemplo

Entrada Salida Descripcion

4 2013

2016 2010

2018

No Si

No No

Caso 1

Solucion

import java.util.*;

public class bisiesto{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int b[]=new int [a];

int c[]=new int [a];

int d[]=new int [a];

int e[]=new int [a];

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

b[i]=in.nextInt();

}

Page 38: Resolución de problemas con java

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

c[i]=b[i]%4;

d[i]=b[i]%100;

e[i]=b[i]%400;

}

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

Figura 2.4

if (d[i]==0){

if (e[i]==0) {

System.out.println("Si");

}

else{

System.out.println("no");

}

}

else if(c[i]==0){

System.out.println("Si");

}

else{

System.out.println("no");

}}}}} El resultado se puede apreciar en la figura 2.4

Page 39: Resolución de problemas con java

Par de números

Descripcion

En este problema se busca ingresar numero positivo y negativos e imprimir si son pares o impares

positivos o negativos

Entrada

Un número indicando cuantos números va a ingresar

Salida

Mensaje indicando par o impar positivo o negativo según corresponda

Ejemplo

Entrada Salida Descripcion

4

4 5

6 4

Par positivo Impar positivo

Par Positivo Par positivo

Caso1

Solucion

import java.util.*;

public class par{

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int a=in.nextInt();

int b[]=new int [a];

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

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

b[i]=in.nextInt();

}

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

int c=b[j]%2;

Page 40: Resolución de problemas con java

if (b[j]==0) {

System.out.println("CERO");

}

else if (c==0) {

if (b[j]<0){

System.out.println("PAR NEGATIVO");

}

else{

System.out.println("PAR POSITIVO");

}

}

else{ Figura 2.5

if (b[j]<0) {

System.out.println("IMPAR NEGATIVO");

}

else{

System.out.println("IMPAR POSITIVO");

}

}

}

}

}

El resultado se puede apreciar en la figura 2.5

Page 41: Resolución de problemas con java

Divisores

Descripcion

En este problema buscamos los divisores de cualquier numero en este caso solo se pueden ingresar

de 1 a 10 numero pero cualquier numero para saber el divisor o divisores.

Entrada

Un numero indicando cuantos números se van a ingresar y los números

Salida

El numero ingresado más los divisores del mismo

Ejemplo

Entrada Salida Descripcion

3 4

13 4

4 1

2 4

13 1

13

4 1 2

4

Caso 1

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();

Page 42: Resolución de problemas con java

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);

}

Figura 2.6

}

}

}

}

El resultado se puede apreciar en la figura 2.6