Ich nenne diese Sequenz "die Jesus-Sequenz", weil es sich um die Summe von Mod . </ Pun> handelt
Für diese Sequenz nehmen Sie alle positiven ganzen Zahlen m kleiner als die Eingabe n und nehmen die Summe von n Modulo pro m . Mit anderen Worten:
Nehmen Sie zum Beispiel den Ausdruck 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
Ihr Ziel hier ist es, eine Funktion zu schreiben, die diese Sequenz implementiert. Sie sollten den Sequenzterm nehmen (dies ist eine positive ganze Zahl von 1 bis 2) 231 ) als einzige Eingabe verwenden und den Wert dieses Terms ausgeben. Dies ist OEIS A004125 .
Wie immer, gelten Standardlücken und die kürzeste Antwort in Bytes gewinnt!
Ruby ,
282723 Bytes-4 Bytes dank @daniero.
Probieren Sie es online!
Ruby, 28 Bytes
Probieren Sie es online!
quelle
Funky , 25 Bytes
Nur die naive Antwort scheint zu funktionieren.
Probieren Sie es online!
Desmos , 25 Bytes.
In Desmos einfügen und dann durch Aufrufen ausführen
f
.Nach dem Einfügen in Desmos sieht der Latex so aus
Die Grafik sieht jedoch so aus
Obwohl es zufällig und überall aussieht, ist dies das Ergebnis nur unterstützender Ganzzahlen.
RProgN 2 , 9 Bytes
Erklärt
Probieren Sie es online!
ReRegex , 71 Bytes
Probieren Sie es online!
ARBLE , 19 Bytes
Probieren Sie es online!
Vielleicht später , 56 Bytes
Probieren Sie es online!
quelle
Gelee , 3 Bytes
Erläuterung
Probieren Sie es online!
quelle
MATL , 4 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Ohm v2 , 4 Bytes
Probieren Sie es online!
quelle
R, 20 Bytes
Probieren Sie es online!
quelle
Python 2 , 44 Bytes
Probieren Sie es online!
EDIT: Bereich (0, n) auf Bereich (n) geändert
quelle
range
Nimmt implizit ein erstes Argument von an0
, so könnten Sie diesrange(n)
stattdessen um zwei Bytes verkürzen, indem Sie tun .map
38 Bytes verwenden: Probieren Sie es online aus!JavaScript (ES6), 26 Byte
Demo
Code-Snippet anzeigen
quelle
Python 3 , 37 Bytes
Probieren Sie es online!
quelle
Kohle , 9 Bytes
Probieren Sie es online!
Der Link führt zur ausführlichen Version des Codes:
quelle
Standard ML (MLton) ,
5351 BytesProbieren Sie es online!
Ungolfed:
Vorherige 53-Byte-Version:
Probieren Sie es online!
Erläuterung:
List.tabulate
Nimmt eine Ganzzahlx
und eine Funktionf
und generiert die Liste[f 0, f 1, ..., f(x-1)]
. Bei einer bestimmten Zahln
rufen wirList.tabulate
mitn-1
und die Funktionfn i=>n mod(i+1)
auf, um eine Division durch Null zu vermeiden. Die resultierende Liste wird mit summiertfoldl op+0
.quelle
Java (OpenJDK 8) , 45 Byte
Probieren Sie es online!
quelle
-->
) Operators.Mathematica , 18 Bytes
Probieren Sie es online!
quelle
Tr[#~Mod~Range@#]&
APL (Dyalog) , 5 Bytes
Probieren Sie es online!
Wie?
Monadischer Zug -
+/
- Summe⊢
-n
|
- vektorisiertes Modulo⍳
- die Reichweite vonn
quelle
Japt ,
65 Bytes1 Byte dank @Shaggy gespeichert
Online testen!
Wie es funktioniert
quelle
05AB1E , 6 Bytes
Probieren Sie es online!
Mein erstes 05AB1E Programm;)
Übrigens bekam ich zwei 39er, einen für JS6 und einen für Python, aber ich war zu spätErläuterung:
quelle
Ruby , 23 Bytes
Probieren Sie es online!
quelle
Julia 0,4, 15 Bytes
Probieren Sie es online!
quelle
Addiere ++ , 14 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
4 , 67 Bytes
4 hat kein Modulo eingebaut.
Probieren Sie es online!
quelle
Windows Batch (CMD), 63 Byte
Vorherige 64-Byte-Version:
quelle
T-SQL,
8079 Bytes-1 Byte dank @MickyT
Erhält eine Eingabe von einem Integer-Parameter mit dem Namen
@
:Verwendet einen allgemeinen Tabellenausdruck, um Zahlen von
1
bis zu generierenn
. Dann wird dieser Wert verwendet, um die Module zusammenzufassen.Hinweis: Ein CTE benötigt ein
;
zwischen der vorherigen Anweisung und dem CTE. Der meiste Code, den ich gesehen habe, setzt das;
Recht vor der Deklaration, aber in diesem Fall kann ich ein Byte speichern, indem ich es in der Eingabeanweisung habe (da technisch gesehen mein Code allein die einzige Anweisung ist).Probieren Sie es aus (SEDE)
Die weniger "SQL-y" -Methode ist nur 76 Bytes. Diesmal ist die Eingabevariable
@i
statt@
(spart ein Byte). Dieser macht nur einewhile
Schleife.quelle
PHP , 61 Bytes
-2 Bytes zum Entfernen des schließenden Tags
Probieren Sie es online!
quelle
Japt
-mx
, 3 BytesProbieren Sie es online!
quelle
Brachylog , 9 Bytes
Probieren Sie es online!
quelle
Schale , 5 Bytes
Probieren Sie es online!
Erläuterung
quelle
Perl 5 , 23 + 1 (
-p
) = 24 BytesProbieren Sie es online!
quelle
Pyth , 5 Bytes
Probieren Sie es online!
quelle