Niukewang Jianzhi ofrece una pregunta simple 1

Cree una variedad de productos

Requisitos de la asignatura:

Dada una matriz A [0,1,…, n-1], construya una matriz B [0,1,…, n-1], donde el elemento B en B [i] = A [0] ∗ A [1] ∗ ... ∗ A [i - 1] ∗ A [i + 1] ∗ ... ∗ A [n - 1]. No se puede utilizar la división. (Nota: Se estipula que B [0] = A [1] ∗ A [2] ∗ ... ∗ A [n - 1], B [n - 1] = A [0] ∗ A [1] ∗ ... ∗ A [n - 2];) B [i] = A [0] * A [1] * ... * A [i-1] * A [i + 1] * ... * A [n- 1]. No se puede utilizar la división. (Nota: Se estipula que B [0] = A [1] * A [2] * ... * A [n-1], B [n-1] = A [0] * A [1] * ... * A [n-2];)B [ i ]=A [ 0 ]A [ 1 ]. . .A [ i-1 ]A [ i+1 ]. . .A [ n-1 ] . No es capaz de hacer uso de otro método . ( Nota sobre el significado : Conjunto de reglamentación B [ 0 ]=A [ 1 ]A [ 2 ]. . .A [ n-1 ] B [ n-1 ]=A [ 0 ]A [ 1 ]. . .A [ n-2 ] ;)
En el caso de que la longitud de A sea 1, B no tiene sentido y no se puede construir, por lo que esta situación no existirá.
Ejemplo:
A = [1,2,3,4,5],
B = [120,60,40,30,24]

análisis:

B [0] = 120 = A [1] * A [2] * A [3] * A [4]
B [1] = 60 = A [0] * A [2] * A [3] * A [ 4]
B [2] = 40 = A [0] * A [1] * A [3] * A [4]

Resumen: Los elementos en B [i] son ​​iguales a los elementos en A excepto A [i] producto

Código:

public class multiply {
    
    
    public static void main(String[] args){
    
    
        int [] arr = {
    
    1,2,3,4,5};
        int [] arrM = multi(arr);
        printarr(arrM);
    }



    public static int[] multi(int [] arr){
    
    
        int len =arr.length;
        int[] ret = new int[len];
        for (int i=0;i<len;i++){
    
    
            ret[i]+=1;
            for (int j=0;j<len;j++){
    
    
                if (i!=j){
    
    

                    ret[i]*=arr[j];
                }

            }
        }
        return ret;
    }

Supongo que te gusta

Origin blog.csdn.net/weixin_44712669/article/details/111260693
Recomendado
Clasificación