Dies ist eine ziemlich einfache Frage. Ich werde eine Sequenz definieren und Sie spielen einen Code, um einen Eintrag mit einem Index auszugeben.
Der erste Punkt in der Sequenz ist 2.
Das n-te Element in der Sequenz ist die kleinste positive ganze Zahl außer n und 1, die mindestens einen Faktor mit n (außer 1) teilt, der noch nicht in der Liste enthalten ist.
Testfälle
Hier sind die ersten 25 Elemente in der Sequenz:
1 2
2 4
3 6
4 8
5 10
6 3
7 14
8 12
9 15
10 5
11 22
12 9
13 26
14 7
15 18
16 20
17 34
18 16
19 38
20 24
21 27
22 11
23 46
24 21
25 30
code-golf
number
sequence
permutations
Post Rock Garf Hunter
quelle
quelle
Python 3 ,
118117 Bytes-1 Byte dank Cameron Aavik !
Probieren Sie es online aus!
Der Code ist ziemlich ineffizient (er erzwingt einen Wert, der in den vorherigen Ergebnissen nicht vorhanden ist, und berechnet die vorherigen Ergebnisse für jeden neuen Wert erneut), sodass er ordnungsgemäß funktioniert, ich würde jedoch nicht empfehlen, ihn mit großen Zahlen auszuführen.
quelle
def f(n,i=3):
sie erstellen und entferneni=3
Haskell ,
6059 BytesBEARBEITEN:
all(/=x)
war kürzer alsx`notElem`
.f
Nimmt eine Ganzzahl und gibt eine Ganzzahl zurück.Probieren Sie es online aus!
Dies ist eine sehr exponentielle Zeit, daher tritt bei TIO nach 21 eine Zeitüberschreitung auf, während mein interpretiertes GHCi auf 22 stieg, bevor ich es gerade stoppte. Die folgenden 9 Bytes längerer Versionen, die in einer Liste gespeichert werden, gehen leicht in die Tausende:
Probieren Sie es online aus!
f n
verwendet ein Listenverständnis, um Kandidaten zu generierenx
, wobei der erste bestanden wird!!0
.gcd x n>1
prüft dasx
undn
hat gemeinsame Faktoren.||n<2
Ausnahmenn==1
von der Faktoranforderung.all(/=x)$n:map f[1..n-1]
prüft, obx
es sich weder umn
ein vorhergehendes Sequenzelement handelt.quelle
all(/=x)$
ist dort 1 kürzerKeine integrierte GCD in C #, also ...
C # (.NET Core) ,
197 196194 BytesProbieren Sie es online aus!
Verwenden Sie diesen Code erneut nicht, um Zahlen in der Reihenfolge für
n>30
...while
Schleife für einefor
Schleife.quelle
a>0&b>0
kann zua*b>0
APL (Dyalog) , 46 Bytes
Probieren Sie es online aus!
quelle