Definitionen
- Eine algebraische Zahl ist eine Zahl, die eine Null eines Nicht-Null-Polynoms mit ganzzahligen Koeffizienten ist. Zum Beispiel ist die Quadratwurzel von
2
algebraisch, weil es eine Null von istx^2 - 2
. - Eine transzendentale Zahl ist eine reelle Zahl, die nicht algebraisch ist.
Aufgabe
Sie müssen eine transzendentale Zahl wählen.
Schreiben Sie dann ein Programm / eine Funktion, die eine positive Ganzzahl annimmt, n
und geben Sie die n
-te Dezimalstelle nach dem Dezimalpunkt der von Ihnen gewählten transzendentalen Zahl aus. Sie müssen in Ihrem Beitrag klar angeben, welche transzendentale Nummer verwendet wird.
Sie können 0-Indizierung oder 1-Indizierung verwenden.
Beispiel
e^2=7.389056098...
ist eine transzendentale Zahl. Für diese Nummer:
n output
1 3
2 8
3 9
4 0
5 5
6 6
7 0
8 9
9 8
...
Beachten Sie, dass die Initiale 7
ignoriert wird.
Wie oben erwähnt, können Sie andere transzendentale Zahlen wählen.
Wertung
Das ist Code-Golf . Die niedrigste Punktzahl in Bytes gewinnt.
Antworten:
Python , 3 Bytes
Probieren Sie es online!
Nimmt eine Zahlenfolge und gibt die kleinste Ziffer als kleinstes Zeichen aus. Zum Beispiel
254
gibt2
. Die Dezimalstelle mit diesen Ziffern beginntDies ist OEIS A054054 .
Behauptung: Diese Zahl
c
ist transzendentalBeweis: Beachten Sie, dass
c
es sehr spärlich ist: Fast alle Ziffern sind Null. Das ist, weil großn
, es gibt eine hohe Wahrscheinlichkeitn
hat eine Ziffer Null, was eine Ziffer min von Null gibt. Darüber hinausc
hat lange Läufe von aufeinanderfolgenden Nullen. Wir verwenden ein vorhandenes Ergebnis, das besagt, dass diesc
transzendental ist.Im Anschluss an dieser math.SE Frage , lassen Sie
Z(k)
die Position der repräsentiertk
-te Ziffer ungleich Null vonc
, und lassen Siec_k
diese Ziffer ungleich Null sein, eine ganze Zahl zwischen1
und9
. Dann drücken wir die Dezimalerweiterung von ausc
, nehmen aber nur die Ziffern ungleich Null als die Summek=1,2,3,...
vonc_k/10^Z(k)
.Wir verwenden das Ergebnis von Punkt 4 dieser Antwort von George Lowther: Das
c
ist transzendental, wenn es unendlich viele Nullenreihen gibt, die mindestens einen konstanten Bruchteil der Anzahl der Ziffern ausmachen. Formal muss eine sein ,ε>0
so dassZ(k+1)/Z(k) > 1+ε
für unendlich vielek
. Wir werden verwendenε=1/9
Für eine beliebige Anzahl von Ziffern
d
, nehmen Siek
mitZ(k) = 99...99
mitd
Neunen. Ein solchesk
existiert, weil diese Ziffer inc
a9
und somit ungleich Null ist. Zählen aus99...99
, enthalten diese Zahlen alle eine Ziffer Null, so dass es markiert den Beginn einer langen Abfolge von Nullen inc
. Die nächste Ziffer ungleich Null kommt erstZ(k+1) = 1111...11
mitd+1
Einsen. Das VerhältnisZ(k+1)/Z(k)
überschreitet etwas1+1/9
.Dies erfüllt die Bedingung für jeden
d
und impliziert das Ergebnis.quelle
min
selbst nimmt keine Eingabe und liefert keine Ausgabe, was von der Frage als eine Anforderung angesehen wird. Sicher, es ist die Schlüsselfunktion im Ganzen, aber ohne den Generator und die Druckanweisung, die im Abschnitt "Online testen" zu sehen sind, geht nichts.Pyth, 1 Byte
Eingabe und Ausgabe sind Zeichenfolgen. Die Funktion übernimmt die erste Ziffer des Index. Die resultierende transzendentale Zahl sieht folgendermaßen aus:
0.0123456789111111111122222222223 ...
Dies ist transzendental, weil es sich um
1/9
eine Pluszahl handelt, die zumindest einen konstanten Bruchteil der Anzahl von Nullen aufweist. Basierend auf dieser math.stackexchange-Antwort bedeutet dies, dass die Zahl transzendental ist.Es gibt Abschnitte von Nullen von Ziffer
100 ... 000
zu199 ... 999
, so dass das Verhältnis vonZ(k+1)
zuZ(k)
unendlich oft 2 ist.Somit ist die obige Zahl minus
1/9
transzendental und somit ist die obige Zahl transzendental.quelle
Python 2 , 19 Bytes
Die n - te Ziffer 1 , wenn n eine Potenz von ist 2 und 0 sonst.
Probieren Sie es online!
quelle
n&~-n>0
ist übrigens kürzer.Brainfuck, 2 Bytes
Gibt ähnlich wie bei einigen anderen Antworten die erste Dezimalstelle zurück und ignoriert den Rest.
quelle
Gelee , 3 Bytes
Verwendet Liouvilles Konstante.
Probieren Sie es online!
quelle
Retina, 4 Bytes
Gibt die erste Ziffer der eingegebenen Nummer zurück. Da dieser Port so langweilig war, hier noch ein paar Ports:
(8 Byte) Gibt die minimale Ziffer der eingegebenen Nummer zurück.
(25 Byte) Gibt 1 zurück, wenn die eingegebene Zahl eine Zweierpotenz ist.
(30 Byte) Die Champernowne-Konstante.
quelle
Brachylog 2, 7 Bytes
Probieren Sie es online!
Berechnet die Ziffern der Champernowne-Konstante (möglicherweise mal eine Zehnerpotenz aufgrund von Indexierungsproblemen, die hier offensichtlich keine Rolle spielen). Im Grunde verkettet dies nur ganze Zahlen und nimmt dann die n-te Ziffer.
quelle
⟦₁
?0123
es keine Zahl ist (es hat eine führende Null, die nicht in Brachylogs Konzept passt, was eine Zahl ist).Python 2, 13 Bytes
Eingabe und Ausgabe sind Zeichenfolgen.
Die n-te Ziffer der Zahl ist die höchstwertige Ziffer von n, wenn sie dezimal geschrieben ist.
quelle
MATL , 7 Bytes
Dies verwendet die erste der beiden hier angegebenen Zahlen geteilt durch 3 (was die Transzendenz aufrechterhält ):
Die Eingabe ist 1-basiert. Probieren Sie es online! Oder sehen Sie die ersten 20 Dezimalstellen .
Erläuterung
quelle
JavaScript, 51 Bytes
Diese Funktion berechnet die
n
Ziffer der Champernowne-Konstante. Fügen Sief=
am Anfang und rufen Sie wief(arg)
. Beachten Sie, dassn
1-indiziert ist.Erläuterung
Diese Funktion akzeptiert ein einzelnes Argument
n
. Dann wird einen
Zeichenfolge mit einer Länge von sich wiederholenden 1s erstellt. Dann wird dieser String in ein Array von 1s aufgeteilt. Danach durchläuft es jedes Element des Arrays und multipliziert sie mit ihrem Index im Array, der um 1 erhöht wird. Anschließend fügt es das Array über""
(leere Zeichenfolge) zusammen, um eine Zeichenfolge zu bilden. Zuletzt wird dasn
th-Element des erhaltenen Strings zurückgegeben.Hinweis: Der Typ des zurückgegebenen Werts ist immer String .
Testschnipsel
quelle
Python 2, 43 Bytes
Champernownes Konstante.
quelle
n+1
?APL (Dyalog) , 3 Bytes
Probieren Sie es online! (Die Testsuite generiert einen Zahlenbereich von
1
bis10000
, konvertiert sie in eine Zeichenfolge und wendet dann den Zug2|⍴
auf sie an.)Nimmt die eingegebene Nummer als String und gibt ihre Länge mod 2 zurück. Also
123
=>3 mod 2
=>1
.Die Sequenz beginnt wie folgt:
Das kann so verallgemeinert werden:
9 1s 90 0s 900 1s ...
Wenn wir diese Zahl mit 9 multiplizieren, erhalten wir eine Liouville-Zahl , die nachweislich transzendental ist.
quelle
1 - 10^-9 + 10^-99 - 10^-999 + 10^-9999 - 10^-99999 + ...
, es ist also eine Liouville-Nummer.Haskell,
25 Bytes17 BytesChampernownes Konstante kann 0 oder 1 sein, da C10 * .01 immer noch transzendental ist.
Bearbeiten: Nach NIMIS Kommentar können Sie die Liste Monade verwenden, um dies zu reduzieren
quelle
=<<
aus der Liste Monade istconcat.map
:(!!)$show=<<[1..]
.JavaScript, 73 Bytes
Dies ist ein Programm, das die
n
dritte Ziffer der Liouville-Konstante berechnet. Hierbei handeltn
es sich um die eingegebene Nummer, die durch Aufrufen der Funktiong
asg(arg)
(undn
1-indiziert) angegeben wird. Beachten Sie, dass die neue Zeile im Code erforderlich ist.Erläuterung
Das Programm besteht aus zwei Funktionen
f
undg
.f
ist eine rekursive Fakultätsberechnungsfunktion undg
ist die Hauptfunktion des Programms.g
geht davon aus , ein einziges Argument zu habenn
. Es definiert ein Standardargumentr
mit dem Wert 0. Es iteriert dann über alle Ganzzahlen von 0 bisn
und prüft in jeder Iteration, ob dief
überi
(den aktuellen Index) angewendete Funktion gleich istn
, dh obn
eine Fakultät von isti
. In diesem Fall wirdr
der Wert auf 1 gesetzt. Am Ende der Funktionr
wird zurückgegeben.Snippet zum Testen
Warnung: Geben Sie keinen sehr großen Wert in das Eingabefeld des Snippets ein! Andernfalls kann Ihr Gerät einfrieren!
quelle
Pyth,
754 BytesProbieren Sie es online!
Verwendet die Konstante von Champernowne.
23 Bytes dank Leaky Nun gespeichert .quelle
jk
, um zu ersetzensm`d
, glaube ich.S
anstelle von verwendenUh
?S
beginnt mit1
undU
beginnt mit0
.Java 8, 18 Bytes
Entspricht Dennis 'Antwort für Python 2 , die Fredholm-Nummer
quelle
(n-1)
kann~-n
oder--n
2 Bytes speichern. Oder Sie können genau das Gleiche wie Dennis 'Antwort haben:n->1>>(n&~-n)
oder1>>(n&--n)
.Gelee , 1 Byte
Probieren Sie es online!
1. Stelle der zitierten 0-indizierten Eingabe. 1
1 Siehe die Antwort von isaacg zum Nachweis der Gültigkeit.
quelle
Kohle , 24 Bytes (nicht konkurrierend)
Probieren Sie es online!
Hinweis: Funktioniert zum Zeitpunkt der Nachbearbeitung nicht,
n
wennn
ein positives Vielfaches von 14 vorliegt.Erläuterung
quelle
GetVariable(Pi)
? Es gibt also keinenπ
Variable vorgegeben?π
, pi gleichzusetzen, da dies eine ASCII-art-orientierte Sprache ist, keine mathematisch-orientierteJapt ,
31 + 1 = 21 ByteEin weiterer Hafen von Feersums Lösung .
Übernimmt die Eingabe als Zeichenfolge.
Probieren Sie es online aus
Erläuterung
quelle
g
1 Byte eingeben :)TI-BASIC, 16 Bytes
Grundsätzlich wird geprüft, ob die Eingabe
N
(1-indiziert) eine Dreieckszahl ist. Dies entspricht der Rückgabe derN
dritten Ziffer von 0.1010010001…, die sich als transzendental erwiesen hat . Die Ziffernfolge ist OEIS A010054 .quelle
Fourier, 16 Bytes
Probieren Sie es online!
Gibt, wie andere Antworten auch, die erste Ziffer der Eingabe aus.
Eine Erklärung des Codes:
quelle
JavaScript (ES6)
Nur ein paar Ports von einigen anderen Lösungen
Python-Lösung von feersum , 12 Byte
Code-Snippet anzeigen
Dennis 'Python-Lösung , 13 Bytes
Code-Snippet anzeigen
Python-Lösung von xnor , 20 Byte
quelle
Brain-Flak , 6 + 3 (
-c
) = 9 BytesProbieren Sie es online!
1. Stelle der 0-Index-Zeichenfolge (daher das
-c
Flag).quelle
C #, 13 Bytes
Aus Feersums Lösung. Fast die gleiche Lösung wie der js-Port.
Probieren Sie es online aus
quelle
05AB1E ,
31 ByteBEARBEITEN : Unter Verwendung des Beweises aus den anderen Antworten wird die erste Stelle der Eingabe zurückgegeben
1-indiziert für π (nur bis zu 100000 Stellen)
Wie es funktioniert
Oder wenn Sie e bevorzugen (immer noch 1-indiziert) (nur bis zu 10000 Stellen)
Probieren Sie es online!
quelle
J, 2 Bytes
Dieselbe Lösung, die alle anderen verwenden:
Gibt die erste Ziffer von n zurück. IO ist auf Saiten
Liouvilles Konstante, 9 Bytes
Gibt zurück,
1
ob die Eingabe die Fakultät einer Ganzzahl ist.Pi, 13 Bytes
Die letzte nicht dezimale Stelle von pi mal 10 ^ n.
quelle
Gelee , 2 Bytes
Probieren Sie es online!
Nehmen Sie die Länge der Eingangsnummer modulo 2. Entspricht dieser APL-Antwort .
quelle
Dreaderef , 5 Bytes
Probieren Sie es online!
Gibt die erste Ziffer der Eingabe zurück.
quelle
Momema , 5 Bytes
Probieren Sie es online!
Gibt die erste Ziffer der Eingabe zurück.
quelle
Shakespeare-Programmiersprache , 76 Bytes
Probieren Sie es online!
quelle