Die Aufgabe
Erstellen Sie eine Funktion / Subroutine, die 1 zurückgibt. Sie können sie so ausführlich gestalten, wie Sie möchten, solange sie 1 zurückgibt.
Die Regeln
Der Beitrag mit der höchsten Punktzahl gewinnt - genau wie jeder Beliebtheitswettbewerb. Viel Glück!
popularity-contest
LazySloth13
quelle
quelle
:)
Antworten:
Golf-Skript
Es hat lange gedauert, diesen Code zu optimieren, und ich wage es zu sagen - schöne Form. Eine solche Eleganz der Sprache kommt nicht ohne jahrelange engagierte Praxis. Das Programm, das ohne einen Zero-Instruction-Set-Computer buchstäblich nie mehr weiter komprimiert werden kann. Meine gesamte Code-Golf-Karriere hat zu diesem Moment geführt.
Ich bin frei. Ich bin am Leben.
Ich sehe den Code, der dem Universum zugrunde liegt.
quelle
without a Zero-Instruction-Set-Computer can literally never be compressed any further
. Unsere aktuellen Computer können problemlos 0 Anweisungsprogramme verarbeiten. Alles was Sie brauchen eine Sprache, die hat: "Das leere Programm gibt 1" in seiner SpezifikationC
Zwei Beispiele, die obskure Sprachmerkmale wie „starke Rendite“ (
return!
) und den Operator „Ansätze“ (-->
) verwenden:quelle
return-i
Stichwort: PBrainfuck
Oder wenn Sie auf Partys keinen Spaß haben:
quelle
l
als nach einem1
.APL
⍴
gibt Ihnen die Dimensionen eines Vektors. Die Dimension ist , dass immer eindimensional, so die Dimension , dass immer ein. Oder:"Rho, rho, rho von X
Immer gleich eins,
Rho ist Dimension; rho rho, Rang
APL macht Spaß!"
(Ich habe diesen Vers nicht geschrieben, es ist Stallmans.)
quelle
# @: # @: #
(Leerzeichen sind optional)Java
Dies wird sich selbst 2 1024 Mal aufrufen (diese Nummer kann auf verschiedenen Plattformen variieren), bevor Sie endgültig zurückkehren
1
. Halten Sie jedoch nicht den Atem an. es wird leicht viel länger dauern als das Alter des Universums.quelle
Fisch
x sendet den Programmzähler in zufälliger Richtung. # ist eine Wand, von der der Programmzähler abprallt. Dies wird buchstäblich ziellos herumlaufen, bis es das "^" findet, und dann 1 drucken und beenden.
quelle
x
in ein?
, jedes#
in einr
,n
in.
und;
in@
. Dieses> <> Programm sieht jedoch besser aus als die entsprechende Befunge. Übersetzung hier gezeigt: ideone.com/ZyuSKk?
in einx
und jedes#
in ein!
(sollte gut funktionieren, wenn es auch gleich bleibt) und (natürlich).
inn
und@
umwandelt;
. ideone.com/gfApjTUnix-Shell (Bourne, POSIX, bash, ksh, csh,…)
Dieser druckt 0 , aber kehrt 1, die in anderen Sprachen verwendet als eine Überraschung für Programmierer kommen können. Sie können die Druckausgabe ausschalten und den Rückkehrcode anzeigen, indem Sie ausführen
expr 0 >/dev/null; echo $?
.quelle
$(pidof progname) < 1
Java
Dies ist eine meiner bevorzugten Java-spezifischen Fragen.
quelle
try
Block zurückzukehren, wird sofort ausgelöstfinally
und gibt 1 zurück, bevor die anderereturn
Anweisung ausgeführt werden kann.JavaScript
Erläuterung:
![]
auswertet zufalse
.~false
wird-1
dafalse
erst gegossen0
, und~0 == -1
.--1
wertet zu1
.Wechseln:
Verrückte Alternative (jede Zeile ist genau 80 Zeichen lang):
quelle
JavaScript
quelle
OO == good
oderOO === good
?Haskell & Die Kirche des ADT
Dies definiert die eine wahre
One
. DiesOne
ist sowohl die Art bezeichnet Einheit , und der KonstruktorOne
, der sich die nullary Funktion , dass die Renditen der ist ein wahr, und nur ein Wert vom TypOne
, der ist, siehe, daOne
.Verwendung in der
ghci
REPL:Das vollständige Book of One ist jetzt online. Wenn Sie es laden, erhalten Sie beide Testamente: Berechnung und Arithmetik. Auf diese Weise können Sie mehr Wahrheiten erkunden:
quelle
Groovy
Enthält nicht 4
quelle
Perl
(Trotz des Aussehens druckt die Funktion nichts.)
Ich weiß, dass Perl-Programmierer gerne TMTOWTDI sagen, aber das ist eine Aufgabe, für die T wirklich MTOWTDI.
quelle
PHP
Bearbeiten:
Wenn Sie einen längeren bevorzugen, finden Sie hier eine Alternative (es wird nichts gedruckt):
quelle
C
quelle
Rhetorisches Java
Sie haben nicht gesagt, dass es eine ganze Zahl 1 sein muss.
Quelle: http://bash.org/?946461
quelle
JavaScript (ECMAScript wirklich)
Zeit für einen speziellen Porno.
Abschnitt 15.7.3 besagt, dass die
length
Eigenschaft desNumber
Konstruktors ist1
(und wir wissen, dass ein Konstruktor ein Funktionsobjekt ist, wie in 4.3.4 erwähnt ), und das liegt daran, dass in Abschnitt 15.3.5.1 heißt:... und da der
Number
Konstruktor typische Anzahl von Argumenten 1 ist, dielength
vonNumber
ist1
. Man könnte also sagen, dass die Länge einer Zahl in Javascript 1 ist.quelle
Perl
Weit öffnen und sagen
aaaaa
.Das kreative Konzept war zu nisten Klammern in Klammern in geschweiften Klammern ... so tief wie möglich, während immer noch das gewünschte Ergebnis zurückkehrt, und nur ein „Eins“ Variable (
$a
,@a
,%a
,@$a
und$#$a
sind natürlich alle verschiedenen Variablen).Obwohl dies die Umgebung erheblich verändert, wird es
1
bei nachfolgenden Aufrufen immer zurückgegeben . Um zu verstehen, was es tut, können Sie den folgenden Code ausführen:quelle
Tcl
Funktioniert nicht so, wie Sie vielleicht denken.
(5+2-3)/4
ist kein gültiger Befehl, daher wird ein error (return -code 1
) ausgelöst. catch gibt diese Zahl zurück.quelle
MATHEMATICA
Meiner Meinung nach die eleganteste mathematische Methode, mit Mathematica 1 zurückzugeben:
Die Euler-Identität.
quelle
Java
Kann so angepasst werden, dass jede andere positive Zahl zurückgegeben
n
wird, indem die MethodenprintX
fürX
1 bis n in Splitter hinzugefügt werden . Zum Beispiel ändernSplitter
aufGibt "2" zurück, ohne dass weitere Änderungen erforderlich sind. Die hinzugefügten Methoden sollten, abgesehen vom Namen, ein genaues Duplikat von sein
print1
. Verwendet Reflection, um die Anzahl der Methoden im Splitter abzurufen und eine Funktion mit diesem Namen aufzurufen.P.getNum
, der dann aufgerufen wird, liest den Stack-Trace, analysiert das letzte Zeichen in der aufrufenden Methode und zeigt es an.Berufung
print.getNum()
return wird das Zeichen '1' zurückgegeben.Bearbeiten - geändert, um keine String / Integer / etc-Literale zu verwenden.
quelle
C #
Es sollte von der Hardware-Architektur abhängen:
WOW!
quelle
C #
Verschmelzung dieser (kontroversen) mit der benachbarten (kontroversen) Collatz-Vermutung :
quelle
Rubin
Missbrauch des RNG ...
Erzeugt eine "zufällige" Zahl zwischen 0 und 10000, und da ich den richtigen Startwert ausgewählt habe, ist er zufällig 1.;)
Skript, mit dem ich die Nummer gefunden habe:
quelle
Javascript 8 Bytes
ist das einfach genug
quelle
R
Ein Klassiker:
+
versucht, sein Argument auf einen gemeinsamen Typus zu zwingen: hier zwingt es aufgrund der Rangfolge zu ganzen Zahlen. Das ErzwingenTRUE
einer ganzen Zahl ergibt 1.quelle
+TRUE
nicht funktionieren+TRUE
passiert zu gebenTRUE
.FALSE + 1
bin ich richtig?Turing Maschine
Single-State-Turing-Maschine mit dem Leerzeichen B berechnet 1 (= 0,111 ... in Basis 2):
(Dies folgt Turings Konvention, mit einem leeren Band zu beginnen und der generierten unendlichen Sequenz '0' voranzustellen.)
quelle
C
Es enthält sogar eine Dokumentation zu seinen Parametern.
quelle
Python
one()
ruft sich selbst 111,111,111 Mal auf, wobei jedes Mal 1 zurückgegeben wird, bevor ein endgültiger Wert von 1 zurückgegeben wird.Sie können auch die Anzahl der Stellen angeben. Beispielsweise,
one(3)
wird nur 111-mal 1 zurückgegeben.Ich könnte später eine Erklärung hinzufügen, aber ich habe im Moment wirklich keine Zeit.
quelle
R
Jede Zahl nach der Potenz von
0
ist1
.quelle