Sequenzdefinition
Konstruieren Sie eine Folge positiver Ganzzahlen a(n)
wie folgt:
a(0) = 4
- Jeder Ausdruck
a(n)
außer dem ersten ist die kleinste Zahl, die das Folgende erfüllt:
a)a(n)
ist eine zusammengesetzte Zahl,
b)a(n) > a(n-1)
und
c)a(n) + a(k) + 1
ist jeweils eine zusammengesetzte Zahl0 <= k < n
.
Also fangen wir an mit a(0) = 4
. Der nächste Eintrag a(1)
muss sein 9
. Es kann nicht sein 5
oder 7
da diese nicht zusammengesetzt sind, und es kann nicht sein 6
oder 8
weil 6+4+1=11
es nicht zusammengesetzt ist und 8+4+1=13
nicht zusammengesetzt ist. Schließlich ist 9+4+1=14
das also zusammengesetzt a(1) = 9
.
Der nächste Eintrag a(2)
muss sein 10
, da er die kleinste Nummer größer ist als 9
mit 10+9+1=20
und 10+4+1=15
beide zusammen.
Für den nächsten Eintrag 11
und 13
beide raus, weil sie nicht zusammengesetzt sind. 12
ist da raus 12+4+1=17
was nicht zusammengesetzt ist. 14
ist da raus 14+4+1=19
was nicht zusammengesetzt ist. Somit 15
ist das nächste Glied der Folge , weil 15
Verbund ist und 15+4+1=20
, 15+9+1=25
und 15+10+1=26
alle sind jeweils zusammengesetzt, so a(3) = 15
.
Hier sind die ersten 30 Begriffe in dieser Reihenfolge:
4, 9, 10, 15, 16, 22, 28, 34, 35, 39, 40, 46, 52, 58, 64, 70, 75, 76, 82, 88, 94, 100, 106, 112, 118, 119, 124, 125, 130, 136
Dies ist OEIS A133764 .
Herausforderung
Geben Sie bei einer Ganzzahl n
den n
dritten Ausdruck in dieser Reihenfolge aus.
Regeln
- Sie können zwischen 0- und 1-basierter Indizierung wählen. Bitte geben Sie bei Ihrer Einreichung an, welche.
- Es kann davon ausgegangen werden, dass die Eingabe und Ausgabe in den systemeigenen Ganzzahltyp Ihrer Sprache passen.
- Die Eingabe und Ausgabe kann durch jede bequeme Methode erfolgen .
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
Antworten:
Schale , 11 Bytes
1-indiziert. Probieren Sie es online!
Erläuterung
quelle
Perl 6 , 70 Bytes
Versuchen Sie es 0-indiziert
Erweitert:
quelle
Python 2 ,
112107 BytesDanke an Mr. Xcoder für ein Byte.
Probieren Sie es online!
Python 2 ,
115109 BytesProbieren Sie es online!
quelle
JavaScript (ES6), 83 Byte
1-indiziert
Demo
Code-Snippet anzeigen
Kommentiert
Hilfsfunktion P () , die true zurückgibt , wenn n eine Primzahl ist, oder andernfalls false :
NB: Es muss mit x = n aufgerufen werden .
Hauptfunktion f () :
quelle
05AB1E , 21 Bytes
0-indiziert
Probieren Sie es online!
quelle
Wolfram Language (Mathematica) , 65 Byte
Verwendet die CP-1252-Codierung (Standard Windows). 1-indiziert.
Probieren Sie es online!
quelle
Java 8,
186173 Bytes0-indiziert.
Leider sind Prime-Checks (oder Anti-Prime / Composite-Checks in diesem Fall) in Java nicht so billig.
Erläuterung:
Probieren Sie es online aus.
quelle
Ruby +
-rprime
,8575 BytesProbieren Sie es online!
Ein Lambda, das das 0-indizierte n-te Element zurückgibt.
-10 Byte: Verwenden Sie
redo
einen ternären Operator anstelle vonloop
...break
und eine bedingte KetteUngolfed:
quelle
C (gcc) , 170 Bytes
Probieren Sie es online!
quelle
C (GCC) ,
140138 BytesVielen Dank an Jonathan Frech für das Speichern von zwei Bytes!
0-indiziert
Probieren Sie es online!
quelle
++k,j=0
kann doppelt so hoch seinj=!++k
, 138 Bytes .