J'appelle cette séquence "la séquence de Jésus", car c'est la somme du mod . </pun>
Pour cette séquence, vous prenez tous les entiers positifs m inférieurs à l'entrée n , et prenez la somme de n modulo chaque m . En d'autres termes:
Par exemple, prenez le terme 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
Votre objectif ici est d'écrire une fonction qui implémente cette séquence. Vous devez prendre le terme de séquence (ce sera un entier positif de 1 à 2 31 ) comme seule entrée et sortir la valeur de ce terme. Il s'agit d' OEIS A004125 .
Comme toujours, les failles standard s'appliquent et la réponse la plus courte en octets gagne!
Rubis ,
282723 octets-4 octets grâce à @daniero.
Essayez-le en ligne!
Rubis, 28 octets
Essayez-le en ligne!
la source
Funky , 25 octets
La réponse naïve semble fonctionner.
Essayez-le en ligne!
Desmos , 25 octets.
Collez dans Desmos, puis exécutez-le en appelant
f
.Une fois collé dans Desmos, le latex ressemble à ceci
Le graphique ressemble cependant à
Bien que cela semble aléatoire et partout, c'est le résultat de la prise en charge uniquement des entiers.
RProgN 2 , 9 octets
Expliqué
Essayez-le en ligne!
ReRegex , 71 octets
Essayez-le en ligne!
ARBLE , 19 octets
Essayez-le en ligne!
Peut -être plus tard , 56 octets
Essayez-le en ligne!
la source
Gelée , 3 octets
Explication
Essayez-le en ligne!
la source
MATL , 4 octets
Essayez-le en ligne!
Explication:
la source
Ohm v2 , 4 octets
Essayez-le en ligne!
la source
R, 20 octets
Essayez-le en ligne!
la source
Python 2 , 44 octets
Essayez-le en ligne!
EDIT: plage modifiée (0, n) en plage (n)
la source
range
prend implicitement un premier argument de0
, vous pouvez donc le raccourcir de deux octets en faisant à larange(n)
place.map
38 octets: Essayez-la en ligne!JavaScript (ES6), 26 octets
Démo
Afficher l'extrait de code
la source
Python 3 , 37 octets
Essayez-le en ligne!
la source
Fusain , 9 octets
Essayez-le en ligne!
Le lien est vers la version détaillée du code:
la source
ML standard (MLton) ,
5351 octetsEssayez-le en ligne!
Non golfé:
Version précédente de 53 octets:
Essayez-le en ligne!
Explication:
List.tabulate
prend un entierx
et une fonctionf
et génère la liste[f 0, f 1, ..., f(x-1)]
. Étant donné un certain nombren
, nous appelonsList.tabulate
avecn-1
et la fonctionfn i=>n mod(i+1)
pour éviter de diviser par zéro. La liste résultante est additionnée defoldl op+0
.la source
Java (OpenJDK 8) , 45 octets
Essayez-le en ligne!
la source
-->
opérateur va à ( ).Mathematica , 18 octets
Essayez-le en ligne!
la source
Tr[#~Mod~Range@#]&
APL (Dyalog) , 5 octets
Essayez-le en ligne!
Comment?
Train monadique -
+/
- somme⊢
-n
|
- modulo vectorisé⍳
- la gamme den
la source
Japt ,
65 octets1 octet enregistré grâce à @Shaggy
Testez-le en ligne!
Comment ça marche
la source
05AB1E , 6 octets
Essayez-le en ligne!
Mon premier programme 05AB1E;)
Btw j'ai eu deux 39s, 1 pour JS6 et 1 pour python, mais j'étais trop tardExplication:
la source
Rubis , 23 octets
Essayez-le en ligne!
la source
Julia 0.4, 15 octets
Essayez-le en ligne!
la source
Ajouter ++ , 14 octets
Essayez-le en ligne!
Comment ça marche
la source
4 , 67 octets
4 n'a pas de module intégré.
Essayez-le en ligne!
la source
Windows Batch (CMD), 63 octets
Version précédente de 64 octets:
la source
T-SQL,
8079 octets-1 octet grâce à @MickyT
Reçoit l'entrée d'un paramètre entier nommé
@
, quelque chose comme ceci:Utilise une expression de table commune pour générer des nombres de
1
àn
. Utilise ensuite ce cte pour résumer les modules.Remarque: un cte a besoin d'un
;
entre l'instruction précédente et le cte. La plupart du code que j'ai vu met le;
droit avant la déclaration, mais dans ce cas, je peux enregistrer un octet en le plaçant dans l'instruction d'entrée (car techniquement mon code en lui-même est la seule instruction).Essayez-le (SEDE)
La méthode moins "SQL-y" n'est que de 76 octets. Cette fois, la variable d'entrée est
@i
au lieu de@
(enregistre un octet). Celui-ci fait juste unewhile
boucle.la source
PHP , 61 octets
-2 octets pour supprimer la balise de fermeture
Essayez-le en ligne!
la source
Japt
-mx
, 3 octetsEssayez-le en ligne!
la source
Brachylog , 9 octets
Essayez-le en ligne!
la source
Husk , 5 octets
Essayez-le en ligne!
Explication
la source
Perl 5 , 23 + 1 (
-p
) = 24 octetsEssayez-le en ligne!
la source
Pyth , 5 octets
Essayez-le en ligne!
la source