Guangdong Desarrollo del Banco para reclutar centro de I + D en la primavera de 2020 se multiplicaron los problemas de programación entera de Java

La diferencia entre el bien y el mal código de código es que el código bueno puede utilizar menos tiempo, menos memoria, y los códigos mediocres hacer lo mismo. Pero personalmente me siento mejor después de salir del hardware, para escribir código malo, y el código para el resultado de la creciente influencia de los pequeños, es decir, no es bueno Código (digresión). El título del programa se escribe en el primer tiempo de píxeles en AC, ja, ja, ja, no hay razón para grabarlo.

Descripción tema, dada dos Una plástico y B, los tres últimos dígitos B ^ A determinaron resultado y devuelve una cadena. Directa tendrá algunos problemas con la función Pow, no he experimentado. Similar LeetCode objeto es la cadena de caracteres se multiplica. Mi código Notes también está escrito con gran detalle. Dirigir optimista al respecto.

público  de clase el principal {
     públicas  estáticas  void main (String [] args) { 

        System.out.println (tailOfPower ( 2,3 )); 
    } 

    // Descripción del problema: dado enteros y dar forma a b, a ^ b se obtiene después de tres, regresaron como una cadena
     @ problemas idea: Supongamos que a * b = c, entonces los últimos tres bits de c y sólo tres últimos y los últimos tres correlación B, y la multiplicación de cálculo se pueden utilizar para calcular se describe como sigue:
     // 
    // hipótesis 135 * 246, como los resultados obtenidos después de tres h, i, j, la siguiente expresión operacional
     // 
    //    135
     // * 246
     // -------
     //    abc
     //    EF
     //    G
     // -------
     //    HIJ
     //
    // se pueden extraer j = c = bits de 5 * 6 = 30, es decir, 0, y el binario diez, en 3
     @ I = Bits de B + F + llevar = 3 * 6 + 4 * 5 + 3 = bit 41, es decir, 1, y a un centenar de acarreo, en 4
     // H = a + e + G + carry diez = bits de 1 * 6 + 4 * 3 + 2 * 5 + 4 = 32, es decir, 2
     // obtener los tres 210. definitiva 

    pública  estática cadena tailOfPower ( int a, int B) { 

        // los tres últimos a se almacena, es recibida por la matriz de enteros, en la que 0 es el índice de ciento, índice de bits de diez 1, índice 2 bits 
        int [] = arrTail nuevo nuevo  int [3. ];
         // matriz de enteros una primera ahorrar cientos lugar 
        arrTail [0] = (a / 100) 10% ;
         // segunda matriz de enteros almacenado decenas 
        arrTail [1.] = (a / 10) 10% ;
         // tercera matriz de enteros dígitos almacenado 
        arrTail [2] = a% 10; 

        // primera vez se multiplica por A A, de modo que la entrada es de tres A 
        int [] = ENTRADA arrTail; 

        // tiempos de ciclo totales b-1, debido a que la primera A * A se calcula de manera que un total de B veces 
        para ( int i = 0;. I <1-B; I ++ ) {
             // definición de la salida de la de tres dígitos 
            int [] = salida nuevo nuevo  int [3. ]; 

            // definición de bits diez para llevar 
            int GMT = 0 ;
             // c computación (como se muestra anteriormente en la ecuación) 
            int numG = INPUT [2] * arrTail [2 ];
             // si c es mayor que 0 carry calculado 
            IF (numG> 10 ) { 
                GMT = numG / 10 ; 
            } 
            //C se almacena bit de salida de bits de 
            salida [2] = 10% numG ; 

            // demasiado vago para escribir, decenas calcular a ciento carry 
            int la JWS = 0 ;
             int [. 1] nums = entrada * arrTail [ 2] + INPUT [2] * arrTail [1] +. GTC;
             IF (nums> 10 ) { 
                el JWS = nums / 10 ; 
            } 
            de salida [ 1] = 10% nums. ; 

            // calcular el dígito de las centenas, el arrastre no se calcula aquí 
            int NUMB = INPUT [0] * arrTail [2] ENTRADA + * arrTail + INPUT [2] * arrTail [0] + [1]. [1]. la JWS; 
            de salida [ 0] = 10% NUMB ; 

            // código de depuración, ignorar> _ <
             //for (int = 0 I1; I1 <output.length; I1 ++) {
             //     de System.out.print (Output [I1]); 

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

            // la calcula tres Guardar dígitos, que será el próximo tres dígitos como entrada un y los tres últimos son calculados 
            de entrada = salida; 
        } 

        // va a escribir una matriz de cadenas, después de volver 
        cadena s = "" + de entrada [ 0] + de entrada + INPUT [2 [1.] ];
         retorno S; 
    } 
}

El algoritmo finalmente obtener el 100%.

Supongo que te gusta

Origin www.cnblogs.com/PixelShine/p/12580615.html
Recomendado
Clasificación