La gente sigue diciéndome que el cuadrado de un número es el número multiplicado por sí mismo. Esto es obviamente falso. La forma correcta de cuadrar un número es convertirlo en un cuadrado, apilándolo encima de sí mismo una cantidad de veces igual al número de dígitos que tiene, y luego leyendo todos los números del cuadrado resultante, ambos horizontalmente (de solo de izquierda a derecha) y verticalmente (solo de arriba a abajo), y luego sumarlos. Entonces, para el número 123, primero creas el cuadrado:
123
123
123
Luego, toma todas las filas y columnas del cuadrado y las agrega:
123+123+123+111+222+333
Lo que nos da un resultado de 1035.
Para los números negativos, usted apila normalmente (recuerde que solo cuenta el número de dígitos , por lo que el signo negativo no está incluido en la longitud), y luego lee los números horizontales normalmente (con signos negativos), y luego ignora los signos negativos para Los números verticales. Entonces, para el número -144obtenemos el cuadrado:
-144
-144
-144
Lo que nos da -144-144-144+111+444+444, lo que es igual567
Para números con solo un dígito, el cuadrado siempre es igual al número duplicado (leído una vez horizontalmente y una vez verticalmente). Entonces 4nos da
4
Lo que nos da 4+4, lo que es igual8 .
Para números con partes decimales, apile normalmente (recuerde que solo se cuentan los dígitos en la cantidad de veces que apila el número y, por lo tanto, no se cuenta el punto decimal), e ignore los símbolos decimales al leer los números verticales. Por ejemplo, el número 244.2nos da
244.2
244.2
244.2
244.2
Lo que nos da 244.2+244.2+244.2+244.2+2222+4444+4444+2222, lo que es igual14308.8 .
Los números fraccionales o complejos no pueden ser cuadrados.
Tu tarea:
Estoy cansado de cuadrar los números a mano, así que decidí automatizar el proceso. Escríbame un programa o función que tome un flotante o una cadena, lo que prefiera, como entrada y devuelva el resultado de cuadrarlo a mi manera.
Ejemplos:
123 -> 1035
388 -> 3273
9999 -> 79992
0 -> 0
8 -> 16
-6 -> 0
-25 -> 27
-144 -> 567
123.45 -> 167282.25
244.2 -> 14308.8
2 -> 4
-0.45 -> 997.65
0.45 -> 1000.35
Tanteo:
Mis manos se están apretando por escribir todos esos cuadrados, y mi computadora no admite copiar / pegar, por lo que gana la entrada con la menor cantidad de código para escribir (¿medido en bytes por alguna razón?).
244.2No es un número flotante. No se puede convertir a la cadena "244.2".