Introducción
Tomemos el número 180
. Este es un número interesante porque la suma de dígitos de este número es igual a:
1 + 8 + 0 = 9
Y la versión al cuadrado de este número, o:
180² = 32400 > 3 + 2 + 4 + 0 + 0 = 9
Ambos son 9 . La suma de los dígitos del número original y el número al cuadrado son iguales. Por supuesto, esto también se encuentra en OEIS: A058369 .
Tarea
Dado un número entero no negativo n
, genera el n
número positivo th con esta condición.
Casos de prueba ( indexados a cero )
Input > Output
0 > 1
1 > 9
2 > 10
3 > 18
4 > 19
5 > 45
6 > 46
7 > 55
8 > 90
9 > 99
10 > 100
11 > 145
12 > 180
13 > 189
14 > 190
15 > 198
16 > 199
17 > 289
18 > 351
19 > 361
La entrada también puede indexarse 1 si eso le queda mejor.
Este es el código de golf , por lo que gana el envío con la menor cantidad de bytes.
^₂;?{ẹ+}ᵛ
Respuestas:
Jalea, 13 bytes
La entrada está indexada en 1. Pruébalo en línea!
Cómo funciona
fuente
Haskell, 54 bytes
Ejemplo de uso:
([x|x<-[1..],s x==s(x^2)]!!) 17
->289
.fuente
JavaScript (ES6),
76 7372 bytesPasé 30 minutos tratando de hacer que esto funcionara hasta que me di cuenta de que estaba generando la variable incorrecta: |
Esto está indexado a cero.
fuente
Perl 6,
4746 bytesfuente
05AB1E ,
1098 bytes1 indexado.
-1 byte gracias a @Emigna eliminando lo implícito
½
(aumentocounter_variable
después de cada iteración) al final-1 byte gracias a @Grimy eliminando lo duplicado
SO
usando‚1ö
Pruébalo en línea.
Explicación:
fuente
½
aquí, ya que está implícitoµNDn‚1öË
.1ö
es comoSO
pero vectoriza, lo que nos permite evitar la duplicación de código.Mathematica, 64 bytes
Función anónima simple. Indexado a cero.
fuente
Pyth, 15
¡1 byte gracias a DenkerAffe!
Pruébelo aquí o ejecute un Test Suite .
Utiliza la opción 1 indexada.
Implementación ingenua
.f
que utiliza los primerosn
números que coinciden con la condición dada.fuente
h
si usa la indexación 1, que está explícitamente permitida.MATL ,
2423 bytesUtiliza una entrada basada en 1.
Pruébalo en línea!
fuente
Julia,
7966 bytesEsta es una función recursiva que acepta un entero y devuelve un entero. Utiliza indexación basada en 1.
Almacenamos algunas cosas como argumentos de función:
n
: La entradax
: Un contador de cuántos números con esta condición hemos encontradoi
: Un número para verificar la condicións
: Una función para calcular la suma de los dígitos de su entradaSi bien
x
es menor que la entrada, recurrimos, incrementandox
sii
cumple con la condición e incrementandoi
. Una vezx == n
, volvemosi
, pero tenemos que restar 1 porque se habrá incrementado demasiadas veces.fuente
Convexo 0.2,
3635 bytesConvex es un nuevo lenguaje que estoy desarrollando que se basa en gran medida en CJam y Golfscript. El intérprete y el IDE se pueden encontrar aquí . La entrada es un número entero en los argumentos de la línea de comando. Los índices están basados en uno. Utiliza la codificación CP-1252 .
fuente
Mathematica,
63606159 bytesAl hacer esto, apareció la otra respuesta, pero les estoy ganando un solo byte y estoy publicando esto antes de que ese sea golfizado.Uno indexado.fuente
>2457
. Simplemente aumentar suRange
no ayudará, porqueA058369[n]/n
no parece converger.10^#
sería más corto que2^#*9
. Por supuesto, se vuelve demasiado lento después de que n es mayor que aproximadamente 6 ...9^#
? FilRetina, 103 bytes
Definitivamente golfable.
Utiliza la nueva función Retina
%
para cuadrar (por lo tanto, todavía no funciona con la versión en línea).fuente
Mathcad
7050 bytesMathcad no tiene funciones integradas para convertir un número a su cadena de dígitos, por lo que la función de usuario d (a) hace este trabajo. Luego, un programa itera a través de los enteros positivos, probando la igualdad de sumas, hasta que haya acumulado n números en el vector v. El programa se evalúa utilizando el operador =, que muestra el vector de resultados. ( Tenga en cuenta que todo el programa aparece exactamente como se muestra a continuación en la hoja de trabajo de Mathcad )
Programa actualizado: asume la inicialización predeterminada de a a cero y utiliza el hecho de que Mathcad devuelve el valor de la última instrucción evaluada en un programa.
Utiliza el orden de evaluación de las expresiones para incrementar la variable a en la primera suma (y que luego está disponible para su uso en la suma del cuadrado)
Programa original: Devuelve un vector de todos los números hasta n.
fuente
Japt , 15 bytes
1 indexado
Intentalo
fuente
Java 8, 113 bytes
0 indexado
Explicación:
Pruébalo en línea.
fuente
Perl 5
-p
, 53 bytesIncluye
+1
para-p
1 basado
Pruébalo en línea!
fuente
TI-BASIC
6662 bytesAns
La función auxiliar genera la suma de los dígitos del valor en
Ans
.Ejemplos:
Explicación:
Nota: TI-BASIC es un lenguaje tokenizado. El recuento de caracteres no es igual al recuento de bytes.
fuente
J , 62 bytes
Pruébalo en línea!
1 indexado. Una vez más, J no se desempeña bien en estas "enésimas" tareas, debido a la excesiva mecánica de mantenimiento.
fuente
APL (NARS), 49 caracteres, 98 bytes
1 indexado, prueba:
fuente
MathGolf , 10 bytes
Pruébalo en línea!
Explicación
ú
fuente