20200715-Array-bubble sort, pollo y conejo en la misma jaula

20200715-Array-bubble sort, pollo y conejo en la misma jaula

1. Hay 2 ensayos sobre el gallo, 1 ensayo sobre la gallina y medio ensayo sobre los pollitos. ¿Cuántas posibilidades hay de comprar 100 pollos por al menos un ensayo de 100 de cada tipo?

PD: use el bucle para obtener todo lo posible e insértelo en la matriz, use la forma de atravesar la matriz para obtener la salida

  • análisis:
  • Como no sé cuántos conjuntos de números se generarán al principio, es imposible determinar la dimensión de la matriz.
  • El método de procesamiento es establecer primero una dimensión más grande y luego redefinir una matriz bidimensional int [] [] primero,
  • Después de obtener el resultado y conocer el número específico de bits, intercepte el número requerido de bits a través de la instrucción Arrays.copyof y corte las dimensiones innecesarias.
  • Luego, recorra la nueva matriz bidimensional a través de para (int [] n: rst) donde: int [] n es el truncamiento unidimensional de la primera matriz bidimensional
public class zy2 {
    
    
    public static void main(String[] args) {
    
    
        int[][] a = new int[100000][3];
        int i = 0;
        for (int cock = 0; cock < 50 ; cock++) {
    
    
            for (int hen = 0; hen < 100; hen++) {
    
    
                int chick = 100 - cock - hen;
                if (2*cock+hen+chick/2==100&&chick%2==0){
    
    
                    a[i][0]=cock;
                    a[i][1]=hen;
                    a[i][2]=chick;
                    i++;
//                    System.out.print("公鸡:"+cock+" \t");
//                    System.out.print("母鸡:"+hen+" \t");
//                    System.out.println("小鸡:"+chick);
                }
            }
        }
        int[][] rst;
        rst = Arrays.copyOf(a,i);
        for (int[] r :rst){
    
     //r是选取二维数组中的一维,不能直接输出二维数组
            System.out.println(Arrays.toString(r));
        }
    }
}

El código que genera la salida en forma de matriz:

int[][] rst;
        rst = Arrays.copyOf(a,i);
        for (int[] r :rst){
    
     //r是选取二维数组中的一维,不能直接输出二维数组
            System.out.println(Arrays.toString(r));
  

Dos, tipo burbuja

  • Ideas:
  • El bucle exterior define cuántas rondas de intercambios se realizan
  • El bucle interno define cuántos pares de intercambios en cada ciclo.
  • Comparando el tamaño de cada dos números adyacentes, si ordena de pequeño a grande, intercambie cuando el número anterior sea grande; de ​​lo contrario, no intercambie
  • El bucle exterior se ejecuta una vez para encontrar el número más grande actual y pasar al último dígito intercambiando
public class zy5 {
    
    
    public static void main(String[] args) {
    
    
        int[] a = {
    
    22,13,15,17,5,8,21,19};
        int tmp = 0;
        for (int i = 0; i <a.length-1 ; i++) {
    
    
            for (int j = 0; j <a.length-1-i ; j++) {
    
    
                if (a[j+1]<a[j]){
    
    
                    tmp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=tmp;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_42005540/article/details/107369133
Recomendado
Clasificación