Wählen Sie fünf beliebige Zeichen aus, die Ihre Sprache unterstützt. Es gibt 5! = 5 × 4 × 3 × 2 × 1 = 120 Arten, wie diese in einer 5-stelligen Zeichenkette angeordnet werden können, die jedes Zeichen einmal enthält; 120 Permutationen .
Wählen Sie Ihre Zeichen so, dass, wenn jede der 120 Zeichenfolgen in Ihrer Sprache ausgeführt wird, die 120 erzeugten Ausgaben so viele eindeutige Ganzzahlen von 1 bis 120 (einschließlich) wie möglich enthalten.
Das heißt, für jede der 120 Permutationen Ihrer 5 Zeichen, die einen ausführbaren Code erzeugen, der eine einzelne Zahl ausgibt, soll die Menge all dieser Zahlen so nah wie möglich an der Menge der ganzen Zahlen von 1 bis 120 liegen.
Im Idealfall wird Ihre erste Permutation also ausgegeben 1
, die nächste 2
, die nächste 3
, bis hinauf zu 120
. Aber dieses Ideal ist wahrscheinlich für die meisten Sprachen und Charaktere unmöglich.
Die 5-stelligen Zeichenfolgen können wie folgt ausgeführt werden:
- ein Programm ohne Eingabe
- eine Funktion ohne Argumente
- ein REPL- Befehl
Falls gewünscht, können verschiedene Zeichenfolgen auf unterschiedliche Weise ausgeführt werden
Für die Ausgabe zu zählen, muss es eine einzige ganze Zahl sein Ausgang in einer normalen Art und Weise, wie zum Beispiel:
- Wird nach Standard gedruckt
- von der Funktion zurückgegeben
- das Ergebnis des REPL-Ausdrucks
Der Code sollte normal beenden (was beinhalten kann , so lange erroring geführt , wie die Zahl zuerst ausgegeben worden ist). Code, der überhaupt nicht ausgeführt wird, ist in Ordnung, nur die (nicht vorhandene) Ausgabe zählt nicht. Die Zahlenausgabe sollte dezimal erfolgen, es sei denn, für Ihre Sprache ist eine andere Basis die Norm.
Die Einsendung, die die deutlichsten Zahlen von 1 bis 120 generiert, gewinnt. Die frühere Vorlage gewinnt im Falle eines Gleichstands.
Anmerkungen
- Ihre 5 Zeichen müssen nicht alle unterschiedlich sein, aber wenn Sie doppelte Zeichen haben, verringert sich natürlich die effektive Anzahl der Permutationen.
- Float-Ausgänge wie
32.0
count oder plain32
. (Wäre32.01
aber nicht.) - Führende Nullen wie
032
count sowie plain32
. - Gültige Ausgaben sollten deterministisch und zeitinvariant sein.
- Wir haben es mit Zeichen zu tun , nicht mit Bytes.
Beispiel
Die Zeichen 123+*
sind eine vernünftige erste Wahl für Pythons (oder vieler Sprachen) REPL. Die resultierenden 120 Permutationen und Ausgaben sind:
123+* n/a
123*+ n/a
12+3* n/a
12+*3 n/a
12*3+ n/a
12*+3 36
132+* n/a
132*+ n/a
13+2* n/a
13+*2 n/a
13*2+ n/a
13*+2 26
1+23* n/a
1+2*3 7
1+32* n/a
1+3*2 7
1+*23 n/a
1+*32 n/a
1*23+ n/a
1*2+3 5
1*32+ n/a
1*3+2 5
1*+23 23
1*+32 32
213+* n/a
213*+ n/a
21+3* n/a
21+*3 n/a
21*3+ n/a
21*+3 63
231+* n/a
231*+ n/a
23+1* n/a
23+*1 n/a
23*1+ n/a
23*+1 23
2+13* n/a
2+1*3 5
2+31* n/a
2+3*1 5
2+*13 n/a
2+*31 n/a
2*13+ n/a
2*1+3 5
2*31+ n/a
2*3+1 7
2*+13 26
2*+31 62
312+* n/a
312*+ n/a
31+2* n/a
31+*2 n/a
31*2+ n/a
31*+2 62
321+* n/a
321*+ n/a
32+1* n/a
32+*1 n/a
32*1+ n/a
32*+1 32
3+12* n/a
3+1*2 5
3+21* n/a
3+2*1 5
3+*12 n/a
3+*21 n/a
3*12+ n/a
3*1+2 5
3*21+ n/a
3*2+1 7
3*+12 36
3*+21 63
+123* n/a
+12*3 36
+132* n/a
+13*2 26
+1*23 23
+1*32 32
+213* n/a
+21*3 63
+231* n/a
+23*1 23
+2*13 26
+2*31 62
+312* n/a
+31*2 62
+321* n/a
+32*1 32
+3*12 36
+3*21 63
+*123 n/a
+*132 n/a
+*213 n/a
+*231 n/a
+*312 n/a
+*321 n/a
*123+ n/a
*12+3 n/a
*132+ n/a
*13+2 n/a
*1+23 n/a
*1+32 n/a
*213+ n/a
*21+3 n/a
*231+ n/a
*23+1 n/a
*2+13 n/a
*2+31 n/a
*312+ n/a
*31+2 n/a
*321+ n/a
*32+1 n/a
*3+12 n/a
*3+21 n/a
*+123 n/a
*+132 n/a
*+213 n/a
*+231 n/a
*+312 n/a
*+321 n/a
Es werden 36 Zahlen generiert, alle zum Glück innerhalb von 1 bis 120:
36, 26, 7, 7, 5, 5, 23, 32, 63, 23, 5, 5, 5, 7, 26, 62, 62, 32, 5, 5, 5, 7, 36, 63, 36, 26, 23, 32, 63, 23, 26, 62, 62, 32, 36, 63
Allerdings sind nur 8 davon einzigartig:
36, 26, 7, 5, 23, 32, 63, 62
Eine solche Einreichung würde also nur 8 von maximal 120 Punkten erzielen.
quelle
c
ähnlichen Sprachen !!!Antworten:
Python3,
2127 WerteFiguren:
3479%
Eindeutige Nummern:
[1,2,3,4,5,6,7,8,9,11,12,19,20,21,24,29,34,35,36,37,39,43,46,47,49,73,74]
Wie angefordert, sind hier die Permutationen, die in den Bereich [1, 120] fielen . Probieren Sie es online!
quelle
/
Integer Division ist, nicht bessere Ergebnisse erzielen?5679%
und5789%
5679%
und5789%
) sind wahrscheinlich auch für PowerShell das Optimum.5679%
und5798%
) auch durch eine umfassende Suche nach allen Kombinationen0123456789+-*/&|^#%
mit Ersatz erhalten. Ich bin damit einverstanden, dass diese wahrscheinlich optimal sind.05AB1E ,
273841 NummernErzeugt die eindeutigen Zahlen:
[4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 25, 27, 32, 33, 34, 35, 36, 37, 38, 49, 50, 52, 54, 64, 65, 66, 67, 72, 73, 74, 81, 83, 98, 100, 101, 102]
Verwendet die Konstante
4
mit den Operationen+1
,+2
,*2
und^2
.quelle
-
anstelle von+
Ergebnissen führen?-
, aber nie über 30 eindeutige Zahlen erhalten. Ein Problem ist, dass Sie auch negative Werte erhalten, die außerhalb des Bereichs liegen. Vielleicht ist es mit einigen anderen Operatoren besser, aber ich habe bisher keine Verbesserung gefunden.Python, 18 Zahlen
Erzeugt als gültige Ergebnisse:
EDIT: Ich kann bestätigen, dass die TuukkaX-Lösung für Python optimal ist. Ich habe den folgenden Code ausgeführt, der alle möglichen Kombinationen von 5 druckbaren ASCII-Zeichen erzwingt:
Die Ergebnisse (nach fast 7 Stunden ausgeführt wird ) zeigten , dass die optimale Lösung in der Tat 27 verschiedene Zahlen, die durch drei verschiedene Lösungen alle vier Zahlen verwenden und mod (
%
)%3479
,%5679
und%5789
.quelle
Java 8,
24 ZahlenHatten Sie keine Java-Antwort erwartet?
Dies ist ein Lambda, das nur auf zwei Arten (und mit jeweils zwei verschiedenen Ziffern!) Für insgesamt zwei eindeutige Zahlen angeordnet werden kann. Alles andere ist kein gültiges Lambda.
Wirklich verbessert die Antwort, dank etwas Hilfe von Kommentaren! Ich habe nicht gesehen, dass 0 nicht gültig ist, und habe vergessen, dass Variablen, wie Sie wissen, mehr als ein Zeichen sein können. Wir haben 4!
Eine noch schlechtere Lösung
()->1
Aber auf der positiven Seite, zwei einzigartige Antworten in Java!
quelle
n->12
. Dies gibt Ihnen vier verschiedene Antworten , die alle innerhalb des Bereichs sind:n->12
,n->21
,n1->2
,n2->1
.Jelly,
263032 ZahlenDies (und seine Anagramme) sind vollständige Programme, die keine Eingabe benötigen und eine Ausgabe auf der Standardausgabe erzeugen.
Die Ausgaben der 120 Programme lauten in der Reihenfolge, in der Jelly sie generiert, wenn Sie aufgefordert werden, Permutationen des Programms zu generieren:
Wenn Sie nur die eindeutigen Ausgaben in numerischer Reihenfolge nehmen, erhalten Sie:
Viele davon sind zu klein und 135 zu groß, aber es gibt immer noch 32, die sich in Reichweite befinden.
Die Grundidee besteht darin, hauptsächlich monadische Anweisungen zu verwenden (in einem Programm mit nur Monaden und Niladen transformieren diese jeweils nur die vorherige Ausgabe) und solche, bei denen der Wert schnell divergiert. Die Ausnahme ist mit
3
, was eine Null ist (der konstante Wert 3). Wenn es zu Beginn des Programms angezeigt wird, werden alle Vorgänge ab Schritt 3 ausgeführt. Wenn es in der Mitte angezeigt wird, wird das Programm in zwei Hälften aufgeteilt, von denen jede eine Ganzzahl ausgibt (und bei jedem Ausdruck auf die Standardausgabe Die Ergebnisse werden schließlich verkettet, sodass wir als zusätzliche Operation zum Generieren von Zahlen "verketten" können.Die Operationen, die wir hier haben, im Kontext, in dem das Programm sie generiert, sind: increment; Dekrement; konstant 3; Quadrat; und doppelt. Inkrementieren und Dekrementieren sind leider gegensätzlich, und Dekrementieren hat eine unglückliche Tendenz, im ersten Abschnitt ein -1 oder -2 zu erzeugen (was insgesamt zu einer negativen Zahl führt), aber dies ergab immer noch eine größere Streuung der Ergebnisse als die anderen Dinge, die ich versucht habe . Insbesondere erhalten wir eine ziemlich gute Streuung sowohl der ersten als auch der zweiten Hälfte der Zahl (beachten Sie, dass die erste Hälfte die Nullzeichenfolge sein kann, wenn
3
es sich um das erste Zeichen im Programm handelt).quelle
Œ¿
und dyadischeœ¿
(siehe in der Nähe der Unterseite des Wiki - Atome Seite ), aber sie sind beide 2-Byte - Dyaden , die die Code - Permutationen reduzieren , die das tun , was Sie wollen, und Sie bräuchten Alle Ihre Eingaben sollen Listen sein (12
ist keine Liste).JavaScript, 27 Zahlen
Sehr ähnlich zu die Antwort TuukkaX mit einer anderen Ziffernfolge.
Die 27 unterschiedlichen Werte sind:
quelle
~
helfen? Es ist eine unäre Operation, die nützlich sein kann.~
ist257&~
, dass es 11 verschiedene Werte erzeugt.Brachylog , 26 Nummern
Dies gibt die folgenden Zahlen aus:
[2,3,4,5,6,7,8,9,10,16,17,18,19,20,25,26,30,31,32,35,36,37,48,49,63,64]
Erläuterung
3
ist natürlich die ganze Zahl 3.+
ist inkrement*
ist doppelt^
ist quadratisch-
ist DekrementEs gibt viele Situationen, in denen das Programm einfach Fehler macht: Zum Beispiel
*+^3-
Fehler, weil es fragt "Nehmen Sie 0, verdoppeln Sie es, erhöhen Sie es, quadrieren Sie, das Ergebnis dieses Quadrats ist 3, dekrementieren Sie", was offensichtlich falsch ist.Jedes Programm, das mit endet
3
wird entweder ausgegeben3
oder funktioniert nicht.Jedes Programm, das mit beginnt,
*3
wird aufgrund eines Fehlers eine Endlosschleife durchlaufen (Brachylog versucht, eine Liste von Unterlisten zu finden, deren Produkt zu 3 führt, was nicht möglich ist).quelle
Vim, 16 Nummern
drucken
quelle
3
und die geblieben4
? Sie benötigen alle Permutationen der Länge 5.i1234
druckt "1234", ist das eine Art Skript oder Tastendruck? Wenn es ein Tastendruck ist, funktioniert es nicht.IA-32 Maschinencode, 8 Ziffern
Hexadezimale Bytewerte:
Der Code wird als Funktion ausgeführt, die den Wert in zurückgibt
al
.Gültige Permutationen:
Ich habe eine Brute-Force-Suche mit den folgenden Einschränkungen durchgeführt:
b0
- das zu initialisierenal
Registerc3
- return; Folgende Bytes werden verworfenadd
or
and
sub
xor
aad
inc
dec
Es bleiben nur 3 änderbare Bytes mit maximal 15 möglichen Ergebnissen. Davon können maximal 9 unterschieden werden (tatsächlich geschieht dies nur für einen Satz von Bytes!). Einer der Werte liegt außerhalb des zulässigen Bereichs, sodass 8 Werte übrig bleiben. Es gibt eine andere Menge von Bytes
Dies ergibt auch 8 verschiedene Werte - die Programme sind die gleichen, außer dass
sub
sie durch ersetzt werdenxor
, wodurch zwei der möglichen Ausgaben identisch werden.Alle anderen Sätze von Bytes ergeben 7 oder weniger mögliche Ergebnisse.
quelle
Gelee , 33 Zahlen
Ḥ
doppelt (links);2
wörtlich 2;3
wörtlich 3;+
addieren (links, rechts); undc
wähle (links, rechts), dh die Anzahl der Möglichkeiten, rechte Objekte aus einer Sammlung von linken Objekten auszuwählen.Mit einem Beispielprogramm ermittelte Zahlen:
Ich habe versucht, einfach zu analysieren, aber einige sind selten und etwas seltsam zu analysieren, zum Beispiel
23
:... und
72
und13
implizites Drucken verwenden:Beachten Sie, dass
Ḥ34+c
auch33
eindeutige Werte in erzeugt[1,120]
.quelle
Brain-Flak 1
Brain-Flak erfordert ausgeglichene Klammern, daher ist ein 5-Zeichen-Programm nur gültig, wenn eines der Zeichen einen Kommentar beginnt. Das lässt uns mit 4 Charakteren arbeiten. Davon müssen 2 sein
(
und)
sonst würde nichts auf den Stapel geschoben. Diese müssen mit dem Kommentar last ((..)#
) an erster und vierter Stelle stehen . Jetzt können wir setzen()
,{}
,<>
, oder nach[]
innen.{}
,<>
Und[]
jeweils 0, bewerten , sondern()
ist 1. Das bedeutet , dass(())#
die einzigen 5 - Zeichenfolge , die ein gültiges Brain-Flak - Programm erzeugt.Probieren Sie es online!
Wenn stattdessen die Frage "Was sind die 6 mächtigsten Charaktere?" Gestellt würde, wäre die Antwort, dass
(){}[]
Brain-Flak nur mit dieser Teilmenge vollständig ist.quelle
@ij
Debug-Flag unterbricht das Programm und ermöglicht es dem Benutzer, Brain-Flak-Code einzugeben, der dort ausgeführt wird, wo das@ij
Flag im Code enthalten ist. Ziemlich mächtig, erfordert aber leider Benutzereingaben und ist daher hier nicht nützlich.(){}[]
würde 0 Punkte bringen. Du hast die Permutationsregel vergessen;)Hexagony , 13 Zahlen
Dies sind die 13 druckbaren Nummern mit jeweils einem möglichen Programm:
Die Programme sollten ziemlich selbsterklärend sein.
@
Beendet das Programm,!
druckt den aktuellen Wert,)
erhöht ihn2
und4
hängt sich an den aktuellen Wert an (wobei der Anfangswert ist0
). Dabei spielt das tatsächliche hexagonale Layout des Quellcodes keine Rolle, die Programme können einfach von links nach rechts gelesen werden.Dies sollte optimal sein, obwohl anstelle von
2
und4
Sie jedes Paar Ziffernx
undy
solche auswählen können2 ≤ x ≤ y-2
.Die obige Lösung wurde durch (fast erschöpfende) Gewaltanwendung gefunden, bei der eine
!
(andernfalls würde nichts gedruckt), eine@
(andernfalls wird das Programm nicht beendet) und die verbleibenden drei Zeichen mit einer (wiederholten) Kombination aus der Zeichenfolge gefüllt wurden folgenden Zeichensatz:Ich kann nicht sehen, wie die anderen Befehle möglicherweise mehr Abwechslung erzeugen könnten.
quelle
Perl, 27 Nummern
3479%
Perl verfügt nicht über eine eingebaute REPL, daher können Sie diese
re.pl
von Devel :: REPL aus verwenden .Ergebnisse:
Brute-Forced mit folgendem Programm:
quelle
perl -de 1
. Dadurch wird der Debugger technisch in einem leeren Programm geöffnet, der Debugger verfügt jedoch über eine integrierte REPL-Funktion. Leider müssen Siep
am Anfang jeder Zeile schreiben , damit das Ergebnis tatsächlich gedruckt wird.R,
1518 ZahlenKeine große Zahl, aber vielleicht die beste, die mit R erreicht werden kann. Ich habe alle Kombinationen von Ziffern
0..9
, Operatoren+ - * / ^
und dem Kommentarzeichen durchsucht#
, und die folgenden acht geben alle 18 eindeutige Ganzzahlen zwischen 1 und 120 aus.Nehmen wir als Beispiel
-#146
. Hier sind die 18 ganzen Zahlen, die wir bekommen können:Wenn Sie neugierig auf den (hässlichen) Code sind, der zum Testen aller möglichen Kombinationen verwendet wird, finden Sie ihn hier. Es gibt die Anzahl der eindeutigen Ganzzahlen zwischen 1 und 120 für jede Zeichenkombination der Länge 5 in eine Datei mit dem Namen "datafile" im aktuellen Arbeitsverzeichnis aus.
quelle
Oktave, 18
Dies wurde mithilfe einer Bruteforce-Suche nach Symbolen gefunden
*+-/0123456789:;<\^|~%
. Aber die Berechnung hat viel zu lange gedauert ...Mögliche Ausgaben:
quelle
Oktave, 15 Zahlen
Nicht viel zu prahlen, aber das ist das Beste, was ich in Octave bekommen kann:
Es gibt die Zahlen:
Ich habe auch 16, aber es scheint identisch mit Sefas Antwort zu sein ...
quelle
0123456789+-*.%
für Oktave ist139-%
, die eine Anordnung von 18 erzeugt:1 2 3 4 6 8 9 13 16 19 22 31 38 39 88 91 92 93
. So können Sie weitere 3 Zahlen gewinnen :)PHP, 15 Zahlen
Verwendet die Tatsache, dass PHP alles außerhalb seiner Tags wörtlich ausgibt (ohne dies zu verwenden, können Sie genau 1 Zahl mit so etwas machen
<?=1;
). Verwendet auch ein tatsächliches Wagenrücklaufzeichen anstelle von\r
.Erstellt (sortierte, entfernte führende Nullen):
Davon sind die gültigen eindeutigen Nummern:
quelle
12\r30
druckt12\r30
, überschreibt das Terminal nur die ersten beiden Zeichen.\r
nicht druckbar ist, der Ausgang des12\r30
ist30
.Cubix , 7 Zahlen
Gibt diese Zahlen aus:
Jedes gültige Cubix-Programm für diese Herausforderung muss ein,
O
um eine Ganzzahl auszugeben, und ein@
um das Programm zu beenden (Cubix hat noch nie von "Fehlern" gehört). Dies gibt uns 3 Zeichen zum Herumspielen, um die meisten Ergebnisse zu erzielen. Aufgrund der Art und Weise, wie Cubix Code auf einem Cube anordnet, ist das erste Zeichen nutzlos, es sei denn, eines der anderen Zeichen ist ein direktionales Zeichen.Die effizienteste Möglichkeit, mehrere Zahlen zu generieren, besteht
"
darin, eine Folge von Zeichencodes auf den Stapel zu schieben. Bei sorgfältiger Neuanordnung können wir mehrere Zeichen an die letzte Stelle setzen und einfach ihre Zeichencodes ausgeben. Durch die Nutzung)
Inkrementieren des obersten Elements können aus mehreren dieser Arrangements zusätzliche Ausgaben erstellt werden.Hier werden zwei grundlegende Programmtypen verwendet. Das erste ist das:
das erweitert sich zu
Das resultierende Programm schiebt
2
auf den Stapel, inkrementiert ihn mit)
, gibt mit ausO
und endet mit@
.Der zweite ist dieser:
das erweitert sich zu
Das sich ergebende Programm schiebt die char-Codes
)
,O
und@
inkrementiert die letzte mit)
, mit AusgängenO
und endet mit@
.quelle
> <> , 6 Ziffern
Dank Teal Pelican 2 Nummern gewonnen
Erzeugt die eindeutigen Zahlen
[1, 4, 5, 49, 59, 108]
Wir müssen
n
eine Nummer drucken.Wir brauchen
;
kündigen.Damit haben wir nur noch 3 Zeichen zur Verfügung.
Ein paar verschiedene Kombinationen von
value
undoperator
zusammen mit haben"
bestätigt, dass sie 6 eindeutige Werte ergeben, aber ich habe nichts Besseres gefunden.quelle
Groovy, 10 Zahlen
Man JVM-Lösungen sind schlecht für diese ... Wer wusste?
Ergebnisse in:
Warte was? Wie zum Teufel bringt es dich dazu, zu fragen?
Geschäftsgeheimnis: Bei Groovy / Java-Ganzzahlen, denen eine 0 vorangestellt ist, handelt es sich um Oktale. Code, den ich zum Testen von Groovy-Antworten verwendet habe, falls mich jemand schlagen möchte:
quelle
MATL, 15 Nummern
%
ist der Kommentaroperator, daher wird er an allen möglichen Stellen einmal "abgeschnitten" und dabei geholfen, alle möglichen Kombinationen der angegebenen Ziffern und Teilmengen davon zu erstellen:quelle
J, 16 Zahlen
Nichts Besonderes, nur getestet
1234
Besonderes mit all den 1-Zeichen-Verben, die vernünftig waren.]
wählt das richtige Argument aus.Die produzierten eindeutigen Zahlen sind
davon 16:
Sind im Bereich [1.120].
Getestet mit
quelle
Japt , 41 Nummern
Ziemlich nur Versuch und Irrtum, also könnte es eine bessere Lösung geben. Verwendet ganze Zahlen
3
&4
und die Japt Verknüpfungen für quadrieren, das Hinzufügen1
und Multiplikation mit2
. Alle 120 Programme geben eine ganze Zahl aus,>0
aber nur 78<=120
und nur 41 davon sind eindeutig.Generiert die Zahlen:
Zeigen Sie die Liste der Nummern oder die Sammlung gültiger Programme an
Erläuterung
Einige wichtige Dinge zu Japt sind:
U
, die standardmäßig verwendet wird0
beginnt, wird wird, automatisch am Anfang eingefügt.3Ä4 = 3+14 = 17
und in ähnlicher Weise4Ѳ = 4*2**2 = 16
).²
wird das²
und alles, was davor steht, im Wesentlichen ignoriert.Erläuterungen zu einigen der Programme (Herstellung
1
,3
,37
und93
jeweils):quelle
Befunge, 11 Nummern
Befunge ist etwas eingeschränkt, da es nur einstellige Literale unterstützt. Das Beste, was ich finden konnte, waren also 11 Zahlen, vorausgesetzt, die Berechnung muss uns eine und nur eine Zahl auf dem Stapel lassen.
Beste Charaktere:
358*%
Generierte Zahlen: (jeweils nur ein Beispiel)
quelle
Python, 16 Zahlen
Mit # können Sie alle unnötigen Nummern auskommentieren.
quelle
dc, 19 zahlen
Die Ausgabe erfolgt über dem Stapel, und Fehler (einschließlich Stapelunterlauf) werden ignoriert. Die gültigen Permutationen sind:
Hier ist das Python-Programm, mit dem ich diese Ergebnisse gezeigt habe:
Zwei weitere Strings , die die gleiche Punktzahl von 19 geben sind
32d+*
und*4zO+
.quelle
Smalltalk, 26 Nummern
Erklärung: 12r35 ist eine Notation für die Verwendung von Radix 12 und ist daher 3 * 12 + 5.
Dies kann in Squeak überprüft werden:
gibt:
Wenn wir die letzte Zeile ersetzen durch:
Wir erhalten dann die Ausdrücke:
Ich wollte eine Methode r in Integer als betrügen und definieren
Leider hackt der Compiler auf 1235r, weil er eine unvollendete Zahl mit dem Radix erkennt, anstatt eine Nachricht an 1235 zu senden ...
Ich könnte den Compiler auch leicht ändern, aber es ist ein bisschen zu viel Cheat für meinen Geschmack.
quelle
Mathematica, 16 Zahlen
Nicht sehr interessant, aber ich kann mit Arithmetik anscheinend nichts Besseres finden. Das Einzige, was das könnte funktionieren , ist die Verwendung
!
von faktoriellen oder doppelten faktoriellen Werten. Dies ist jedoch so anfällig für die Erzeugung massiver Zahlen, dass es unmöglich ist, Gewalt anzuwenden.Die 16 Zahlen (im Bereich), die aus den obigen 5 Zeichen generiert werden können, sind:
quelle
Runenverzauberungen, 19 Nummern
Im Wesentlichen 3 Liter, der pow-Operator und ein Befehl "Den gesamten Stapel drucken und beenden".
234p@
druckt 812 (3 ^ 4 verbunden mit einer 2). Vollständige Permutationsliste , Notiz,@
die durch ersetzt wurdeak@
, um eine neue Zeile zwischen jedem Ergebnis und a zu erzeugen>
wurde hinzugefügt, um sicherzustellen, dass jede Zeile unabhängig ausgeführt wird. Beachten Sie auch, dass die Ausgaben nicht in derselben Reihenfolge wie die Programme sind, die sie generiert haben (da einige Programme möglicherweise schneller beendet werden).Viele Permutationen geben nichts aus (z. B.
@234p
oderp234@
), aber 19 führen zur Ausgabe innerhalb des zulässigen Bereichs.Mögliche Zahlen (und ein mögliches Programm, das dazu führt;
.
gibt an, dass diese Positionen eines der verbleibenden Zeichen sein können, da es nicht ausgeführt wird):quelle
TI-BASIC, 12 Nummern
Es gibt höchstwahrscheinlich eine bessere Kombination, aber ich konnte sie nicht finden.
Alle24 Gültige Permutationen sind wie folgt:
Davon gibt es12 eindeutige Werte:
quelle