Llamo a esta secuencia "la secuencia de Jesús", porque es la suma del mod . </pun>
Para esta secuencia, toma todos los enteros positivos m menos que la entrada n , y toma la suma de n módulo cada m . En otras palabras:
Por ejemplo, tome el término 14 :
14 % 1 = 0
14 % 2 = 0
14 % 3 = 2
14 % 4 = 2
14 % 5 = 4
14 % 6 = 2
14 % 7 = 0
14 % 8 = 6
14 % 9 = 5
14 % 10 = 4
14 % 11 = 3
14 % 12 = 2
14 % 13 = 1
0+0+2+2+4+2+0+6+5+4+3+2+1=31
Su objetivo aquí es escribir una función que implemente esta secuencia. Debería tomar el término de secuencia (este será un entero positivo de 1 a 2 31 ) como la única entrada y generar el valor de ese término. Este es OEIS A004125 .
Como siempre, se aplican las lagunas estándar y gana la respuesta más corta en bytes.
Rubí ,
282723 bytes-4 bytes gracias a @daniero.
Pruébalo en línea!
Rubí, 28 bytes.
Pruébalo en línea!
fuente
Funky , 25 bytes
Solo la respuesta ingenua parece funcionar.
Pruébalo en línea!
Desmos , 25 bytes.
Pega en Desmos, luego ejecútalo llamando
f
.Cuando se pega en Desmos, el látex se ve así
Sin embargo, el gráfico parece
Aunque parece aleatorio y en todas partes, ese es el resultado de solo apoyar enteros.
RProgN 2 , 9 bytes
Explicado
Pruébalo en línea!
ReRegex , 71 bytes
Pruébalo en línea!
ARBLE , 19 bytes
Pruébalo en línea!
Quizás más tarde , 56 bytes
Pruébalo en línea!
fuente
Jalea , 3 bytes
Explicación
Pruébalo en línea!
fuente
MATL , 4 bytes
Pruébalo en línea!
Explicación:
fuente
Ohm v2 , 4 bytes
Pruébalo en línea!
fuente
R, 20 bytes
Pruébalo en línea!
fuente
Python 2 , 44 bytes
Pruébalo en línea!
EDITAR: Rango cambiado (0, n) a rango (n)
fuente
range
toma implícitamente un primer argumento de0
, por lo que podría acortar esto en dos bytes haciendo en surange(n)
lugar.map
38 bytes: ¡ Pruébelo en línea!JavaScript (ES6), 26 bytes
Manifestación
Mostrar fragmento de código
fuente
Python 3 , 37 bytes
Pruébalo en línea!
fuente
Carbón de leña , 9 bytes
Pruébalo en línea!
El enlace es a la versión detallada del código:
fuente
ML estándar (MLton) ,
5351 bytesPruébalo en línea!
Sin golf:
Versión anterior de 53 bytes:
Pruébalo en línea!
Explicación:
List.tabulate
toma un enterox
y una funciónf
y genera la lista[f 0, f 1, ..., f(x-1)]
. Dado algún númeron
, llamamosList.tabulate
conn-1
y la funciónfn i=>n mod(i+1)
para evitar dividir por cero. La lista resultante se resume confoldl op+0
.fuente
Java (OpenJDK 8) , 45 bytes
Pruébalo en línea!
fuente
-->
operador va a ( ).Mathematica , 18 bytes
Pruébalo en línea!
fuente
Tr[#~Mod~Range@#]&
APL (Dyalog) , 5 bytes
Pruébalo en línea!
¿Cómo?
Tren monádico
+/
suma⊢
-n
|
- módulo vectorizado⍳
- el rango den
fuente
Japt ,
65 bytesGuardado 1 byte gracias a @Shaggy
¡Pruébalo en línea!
Cómo funciona
fuente
05AB1E , 6 bytes
Pruébalo en línea!
Mi primer programa 05AB1E;)
Por cierto, obtuve dos 39, 1 para JS6 y 1 para Python, pero llegué demasiado tardeExplicación:
fuente
Ruby , 23 bytes
Pruébalo en línea!
fuente
Julia 0.4, 15 bytes
Pruébalo en línea!
fuente
Añadir ++ , 14 bytes
Pruébalo en línea!
Cómo funciona
fuente
4 , 67 bytes
4 no tiene ningún módulo incorporado.
Pruébalo en línea!
fuente
Lote de Windows (CMD), 63 bytes
Versión anterior de 64 bytes:
fuente
T-SQL,
8079 bytes-1 byte gracias a @MickyT
Recibe información de un parámetro entero llamado
@
, algo como esto:Utiliza una expresión de tabla común para generar números de
1
an
. Luego usa ese cte para resumir los módulos.Nota: un cte necesita un
;
entre la declaración anterior y el cte. La mayoría del código que he visto pone el;
derecho antes de la declaración, pero en este caso puedo guardar un byte al tenerlo en la declaración de entrada (ya que técnicamente mi código en sí mismo es la única declaración).Pruébalo (SEDE)
La forma menos "SQL-y" es de solo 76 bytes. Esta vez, la variable de entrada es en
@i
lugar de@
(guarda un byte). Este solo hace unwhile
bucle.fuente
PHP , 61 bytes
-2 bytes para eliminar la etiqueta de cierre
Pruébalo en línea!
fuente
Japt
-mx
, 3 bytesPruébalo en línea!
fuente
Brachylog , 9 bytes
Pruébalo en línea!
fuente
Casco , 5 bytes
Pruébalo en línea!
Explicación
fuente
Perl 5 , 23 + 1 (
-p
) = 24 bytesPruébalo en línea!
fuente
Pyth , 5 bytes
Pruébalo en línea!
fuente