SlideShare una empresa de Scribd logo
Resolución de Problemas con java
Presenta
Castro ramos diego Osvaldo
Grupo
“402”
Escuela
Cecytem Plantel Tecámac
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);
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
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");
}
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);
}
}
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;
}
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
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){
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
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();
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
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();
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");
}
}
}
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);
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
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();
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
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;
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
}
}
}
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
importjava.util.*;
publicclassintervalo{
publicstaticvoidmain(String[]args){Scannerin=new Scanner(System.in);
inta=in.nextInt();
intb=in.nextInt();
intc=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");
}
}
else if (c==a){ imagen1.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
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"};
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
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
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":
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");
}
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");
}
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");
}
break;
default:
break;
}}}
EL resultado se puede apreciar en la figura 2.0
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];
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
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];
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++ ) {
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
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++){
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
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();
}
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
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;
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
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
importjava.util.*;
publicclassdivisores{
publicstaticvoid main(String[] args) {
Scannerin=newScanner(System.in);
inta=in.nextInt();
intc[]=newint[a];
for (inti=0;i<a;i++ ) {
c[i]=in.nextInt();
intcx=c[i];
intd[]=newint[cx];
for (intk=0;k<cx ;k++ ) {
intax=k+1;
d[k]=c[i]%ax;
if (d[k]==0) {
System.out.println(""+ax);
}
Figura2.6
}
}
}
}
El resultadose puede apreciarenlafigura2.6

Más contenido relacionado

La actualidad más candente

Omega Up
Omega UpOmega Up
Omega Up
Ryoga Luis
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
Angel Vázquez Patiño
 
Introduction to Basic C programming 01
Introduction to Basic C programming 01Introduction to Basic C programming 01
Introduction to Basic C programming 01
Wingston
 
Input output statement
Input output statementInput output statement
Input output statement
sunilchute1
 
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
r_nivelo21
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
Guillermo Viaje
 
Python algorithm
Python algorithmPython algorithm
Python algorithm
Prof. Dr. K. Adisesha
 
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Maynor Mendoza
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioJesica Pérez
 
Multitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplosMultitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplos
Carlos Anibal Riascos Hurtado
 
Input processing and output in Python
Input processing and output in PythonInput processing and output in Python
Input processing and output in Python
Raajendra M
 
Compiler design lab
Compiler design labCompiler design lab
Compiler design lab
ilias ahmed
 
Introduction to Selection control structures in C++
Introduction to Selection control structures in C++ Introduction to Selection control structures in C++
Introduction to Selection control structures in C++
Neeru Mittal
 
Chapter 1 : Balagurusamy_ Programming ANsI in C
Chapter 1  :  Balagurusamy_ Programming ANsI in C Chapter 1  :  Balagurusamy_ Programming ANsI in C
Chapter 1 : Balagurusamy_ Programming ANsI in C
BUBT
 
Java: Introduction to Arrays
Java: Introduction to ArraysJava: Introduction to Arrays
Java: Introduction to Arrays
Tareq Hasan
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)Ravi_Kant_Sahu
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplos
Beatriz Elena Herrera
 
Classes&amp;objects
Classes&amp;objectsClasses&amp;objects
Classes&amp;objects
M Vishnuvardhan Reddy
 

La actualidad más candente (20)

Omega Up
Omega UpOmega Up
Omega Up
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
 
Java arrays
Java arraysJava arrays
Java arrays
 
Introduction to Basic C programming 01
Introduction to Basic C programming 01Introduction to Basic C programming 01
Introduction to Basic C programming 01
 
Input output statement
Input output statementInput output statement
Input output statement
 
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Python algorithm
Python algorithmPython algorithm
Python algorithm
 
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolio
 
Multitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplosMultitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplos
 
Input processing and output in Python
Input processing and output in PythonInput processing and output in Python
Input processing and output in Python
 
Compiler design lab
Compiler design labCompiler design lab
Compiler design lab
 
Introduction to Selection control structures in C++
Introduction to Selection control structures in C++ Introduction to Selection control structures in C++
Introduction to Selection control structures in C++
 
Chapter 1 : Balagurusamy_ Programming ANsI in C
Chapter 1  :  Balagurusamy_ Programming ANsI in C Chapter 1  :  Balagurusamy_ Programming ANsI in C
Chapter 1 : Balagurusamy_ Programming ANsI in C
 
Java: Introduction to Arrays
Java: Introduction to ArraysJava: Introduction to Arrays
Java: Introduction to Arrays
 
Arboles b
Arboles bArboles b
Arboles b
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplos
 
Classes&amp;objects
Classes&amp;objectsClasses&amp;objects
Classes&amp;objects
 

Similar a Resolución de problemas con java

Java problems
Java problemsJava problems
Java problems
Noe Lopez
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
Ulises_312
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Aline
AlineAline
Aline
151295
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
Jaime amambal
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
Jaime amambal
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
gidemon
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
Leonardo Dorantes
 
colasEjeRe_1_2022.pdf
colasEjeRe_1_2022.pdfcolasEjeRe_1_2022.pdf
colasEjeRe_1_2022.pdf
DanielRodriguez585633
 
Swrewer nuevo hoy
Swrewer nuevo hoySwrewer nuevo hoy
Swrewer nuevo hoy
htmrk
 
Programas Propuestos Capítulo IV
Programas Propuestos Capítulo IVProgramas Propuestos Capítulo IV
Programas Propuestos Capítulo IV
Eduardo Cárdenas Magallanes
 
Lab Sistemas Distribuidos y Paralelos Actividad 4
Lab Sistemas Distribuidos y Paralelos Actividad 4Lab Sistemas Distribuidos y Paralelos Actividad 4
Lab Sistemas Distribuidos y Paralelos Actividad 4Richi Garza
 
Ejercicios resuletos de programacion
Ejercicios resuletos de programacionEjercicios resuletos de programacion
Ejercicios resuletos de programacion
William Lozano
 
Código Java Ecuación cuadrática
Código Java Ecuación cuadráticaCódigo Java Ecuación cuadrática
Código Java Ecuación cuadrática
Carmen Nereira
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos DirectosKike Prieto
 
Laboratorio de algoritmos
Laboratorio de algoritmosLaboratorio de algoritmos
Laboratorio de algoritmos
Christian10532
 

Similar a Resolución de problemas con java (20)

Java problems
Java problemsJava problems
Java problems
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Aline
AlineAline
Aline
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Cecytem
CecytemCecytem
Cecytem
 
colasEjeRe_1_2022.pdf
colasEjeRe_1_2022.pdfcolasEjeRe_1_2022.pdf
colasEjeRe_1_2022.pdf
 
Swrewer nuevo hoy
Swrewer nuevo hoySwrewer nuevo hoy
Swrewer nuevo hoy
 
Programas Propuestos Capítulo IV
Programas Propuestos Capítulo IVProgramas Propuestos Capítulo IV
Programas Propuestos Capítulo IV
 
Lab Sistemas Distribuidos y Paralelos Actividad 4
Lab Sistemas Distribuidos y Paralelos Actividad 4Lab Sistemas Distribuidos y Paralelos Actividad 4
Lab Sistemas Distribuidos y Paralelos Actividad 4
 
Netsbeans
NetsbeansNetsbeans
Netsbeans
 
Ejercicios resuletos de programacion
Ejercicios resuletos de programacionEjercicios resuletos de programacion
Ejercicios resuletos de programacion
 
Ejemplos java
Ejemplos javaEjemplos java
Ejemplos java
 
Código Java Ecuación cuadrática
Código Java Ecuación cuadráticaCódigo Java Ecuación cuadrática
Código Java Ecuación cuadrática
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
 
Laboratorio de algoritmos
Laboratorio de algoritmosLaboratorio de algoritmos
Laboratorio de algoritmos
 

Resolución de problemas con java

  • 1. Resolución de Problemas con java Presenta Castro ramos diego Osvaldo Grupo “402” Escuela Cecytem Plantel Tecámac
  • 2. 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);
  • 3. 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
  • 4. 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"); }
  • 5. 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); }
  • 6. } 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;
  • 7. } 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
  • 8. 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){
  • 9. 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
  • 10. 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();
  • 11. 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
  • 12. 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();
  • 13. 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"); } }
  • 14. } 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);
  • 15. 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
  • 16. 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();
  • 17. 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
  • 18. 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;
  • 19. 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 } } }
  • 20. 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 importjava.util.*; publicclassintervalo{ publicstaticvoidmain(String[]args){Scannerin=new Scanner(System.in); inta=in.nextInt(); intb=in.nextInt(); intc=in.nextInt(); if (c<a){ if(c<b){ System.out.println("Izquierda");
  • 21. } else if (c==b){ System.out.println("intervalo"); } else { System.out.println("intervalo"); } } else if (c==a){ imagen1.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
  • 22. 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"};
  • 23. 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
  • 24. 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
  • 25. 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":
  • 26. 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");
  • 28. 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");
  • 29. } break; default: break; }}} EL resultado se puede apreciar en la figura 2.0
  • 30. 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];
  • 31. 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
  • 32. 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];
  • 33. 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++ ) {
  • 34. 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
  • 35. 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++){
  • 36. 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
  • 37. 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(); }
  • 38. 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
  • 39. 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;
  • 40. 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
  • 41. 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 importjava.util.*; publicclassdivisores{ publicstaticvoid main(String[] args) { Scannerin=newScanner(System.in); inta=in.nextInt(); intc[]=newint[a]; for (inti=0;i<a;i++ ) { c[i]=in.nextInt();
  • 42. intcx=c[i]; intd[]=newint[cx]; for (intk=0;k<cx ;k++ ) { intax=k+1; d[k]=c[i]%ax; if (d[k]==0) { System.out.println(""+ax); } Figura2.6 } } } } El resultadose puede apreciarenlafigura2.6