2020/07/13-Ejercicios de estructura de bucle Java (imprima el triángulo Yang Hui, imprima todos los números impares compuestos por 0-7, no hay repetición de números en cada dígito)

2020/07/13-Ejercicios de estructura de bucle Java (imprima el triángulo Yang Hui, imprima todos los números impares compuestos por 0-7, no hay repetición de números en cada dígito)

1. Imprima el triángulo Yang Hui (se requieren 10 líneas para imprimir como se muestra a continuación)

  • Análisis del programa:
  • 1
  • 1 1
  • 1 2 1
  • 1 3 3 1
  • 1 4 6 4 1
  • 1 5 10 10 5 1
  • Ideas:
  • En primer lugar, el primer número de cada fila es 1
  • La ley de cada línea de números es: 1; i / 1; i (i-1) / 1 2; (i-1) (i-2) / 2 3; ... int i = 0
  • Importante: Analice la relación entre las características de cada fila de números e i, y también preste atención al valor inicial de i se establece en 0
  • Por ejemplo, para la fila 3: 1, 2, 1
  • Ordenanza v = 1; a = i,
  • i = 2 representa la tercera fila, v = v * aa–; salida: v = v / j, donde int j = 0, j = 0 está definido, lo que significa el primer número en la primera columna, j = 1 significa una columna El segundo número en
/**
*/
public class test15 {
    
    
    public static void main(String[] args) {
    
    
        int num = 5;
        for (int i = 0; i < num; i++) {
    
    
            int v = 1;
            int a = i;
            for (int j = 0; j <= i; j++) {
    
    
                int b = j;
                if(b==0)
                    System.out.print(1+" ");
                else {
    
    
                    System.out.print((v = v / j) + " ");
                }
                v=v*a;
                a--;

            }
            System.out.println();
        }

    }
}

2. Encuentra el número impar de 0 a 7.

análisis de idea:

  • Solo números impares cuando el lugar de las unidades es 1, 3, 5, 7

  • Calcule los números impares de 2 dígitos, 3 dígitos, 4 dígitos ..., por ejemplo:

  • Con 2 dígitos, hay 6 * 4 posibilidades. Debido a que el dígito más alto (primer dígito) no puede ser 0, es 7-1 = 6 posibilidades

  • Con 3 dígitos, hay 6 6 4 tipos, el primer dígito y el dígito de las unidades son un número, y el segundo dígito es 8-2 = 6 tipos.

  • 4 dígitos, hay 6 6 5 * 4 posibilidades

  • Por lo tanto, debe escribirse por separado para 2 dígitos, y los dígitos después de 2 se pueden escribir de acuerdo con la ley de circulación
    * /

public class test16 {
    
    
    public static void main(String[] args) {
    
    
        int total = 4;
        for (int i = 2; i <=8 ; i++) {
    
    //外层循环定义位数
            int sum = 4;
            for (int j = 1; j < i; j++) {
    
    
                if (j==1){
    
    
                    sum=sum*6;
                }else {
    
    
                    sum=sum*(8-j);
                }
            }
            total+=sum;


        }
        System.out.println(total);
    }
}

3. Encuentra la diferencia positiva entre números primos y no primos dentro de 1000

  • Ideas:
  • 2 es un número primo, 1 no es un número primo ni un número compuesto
  • Número primo + número compuesto + 1 = todos los números
  • Primero encuentre los números primos, luego use la suma: la suma de los números primos = la suma de los números no primos
public class khzy2 {
    
    
    public static void main(String[] args) {
    
    
        int j = 0;
        int sum = 2;
        int num = 0;
        int s = 0;
        for (int i = 1; i <1000 ; i++) {
    
    
            num=num+i;
        }
        System.out.println(num);
        for (int i = 2; i <1000 ; i++) {
    
    
            for ( j = 2; j <i ; j++) {
    
    
                s =i%j;
                if (s==0){
    
    
                    break;
                }
            }
            if (s!=0){
    
    
                sum = sum + i;

            }

        }
        System.out.println("质数:"+sum);
         int n = num - sum;
         int k = n - sum;
        System.out.println(k);
    }
}

4. Genere aleatoriamente 6 números aleatorios entre 1 y 33, y un número aleatorio entre 1 y 15. Estos 7 números no se pueden repetir.

  • Ideas:
  • 1. int n = (int) (Math.random () 10); cuando se genera es un número aleatorio entre 0-9, por lo que 34 generará un número aleatorio entre 0-33
  • 2. Dado que cada número no se puede repetir, agregue una declaración || para asegurarse de que cada dos números no sean iguales entre sí.
  • 3. Si no es igual, imprima 7. Si es igual, use la instrucción contiune para salir de este ciclo y continuar con el siguiente ciclo.
public class khzy1 {
    
    
    public static void main(String[] args) {
    
    
        int flag = 0;
        do {
    
    
            int num1 = (int) (Math.random() * 34);
            int num2 = (int) (Math.random() * 34);
            int num3 = (int) (Math.random() * 34);
            int num4 = (int) (Math.random() * 34);
            int num5 = (int) (Math.random() * 34);
            int num6 = (int) (Math.random() * 34);
            int num7 = (int) (Math.random() * 16);
            if ((num1!=num2)||(num1!=num3)||(num1!=num4)||(num1!=num5)||(num1!=num6)
                    ||(num1!=num7)||(num2!=num3)||(num4!=num2)||(num5!=num2)||(num6!=num2)
                    ||(num7!=num2)||(num4!=num3)||(num5!=num3)||(num6!=num3)||(num7!=num3)||
                    (num4!=num5)||(num4!=num6)||(num4!=num7)||(num4!=num2)||(num5!=num6)||(num5!=num7)||(num6!=num7)
            ){
    
    
                flag = 1;
                System.out.println(num1+" "+num2+" "+num3+" "+num4+" "+num5+" "+num6+" "+num7+" ");
            };
        }while (flag == 0);
    }
}

Supongo que te gusta

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