Es ist sehr leicht:
Erstellen Sie ein Programm, ohne eine einzige Codezeile zu schreiben. Der Code kann nur aus vorhandenen Fragen und Antworten zum Stapelüberlauf bestehen.
Das Programm sollte zwei Zufallszahlen erzeugen und diese ausgeben
- hinzugefügt zu,
- subtrahiert von,
- multipliziert mit und
- geteilt durch
gegenseitig.
Regeln
Sie müssen Links zu den Fragen / Antworten einfügen, die Sie in Ihrer Antwort verwendet haben. Sie können den gefundenen Code mit den folgenden Ausnahmen nicht ändern:
Sie können Variablen, Funktionen und Methoden umbenennen. (Dies bedeutet nicht, dass Sie einen Methodenaufruf ändern können, indem Sie beispielsweise scanner.nextInt () in scanner.nextLine () ändern und behaupten, dass Sie einen Methodennamen ändern. Die Änderung muss in der Definition oder im Verweis auf erfolgen.) gleiche Entität.). Die Lösung sollte weiterhin funktionieren, wenn Variablen, Funktionen oder Methoden erneut umbenannt werden.
Sie können den Einzug entsprechend anpassen.
Sie können davon ausgehen, dass die richtigen Module geladen sind, damit die Codeausschnitte funktionieren. (z. B. Importieren von Anweisungen für Java und Python unter Verwendung von Anweisungen für C # und C ++ sowie deren Entsprechungen in allen Sprachen) Wenn das Code-Snippet die Importe für Sie enthält, können Sie sie an den oberen Rand des Codes verschieben.
Wenn die Sprache erfordert, dass sich der Code in einem auszuführenden Methodentext befindet (z. B.
public static void main(String[] args)
für Java,static int Main(string[] args)
C # usw.), können Sie den Code in die entsprechende Methode einbetten. Der Inhalt dieser Hauptmethode muss jedoch unverändert bleiben.Sie müssen eine explizite Liste aller durchgeführten Umbenennungen von Variablen / Methoden / Funktionen / Klassen angeben.
Sie können keine Snippets von Snippets nehmen (dh, wenn Sie einen Codeblock aus einem Beitrag nehmen, nehmen Sie das Ganze). Geben Sie eine kurze Beschreibung dessen, was der Code für Personen bewirkt, die mit der von Ihnen verwendeten Sprache nicht vertraut sind. Sie müssen Snippets verwenden, die vor dem Start dieser Challenge veröffentlicht wurden.
Beliebtheitswettbewerb, damit die meisten Upvotes gewinnen!
Frist
Ich werde die Einreichung akzeptieren, die Ende August, 6, die meisten Stimmen hat.
quelle
Antworten:
J, 7 Fragen / Antworten, keine über J
Es ist ein verdammt billiger Weg, ich werde nicht lügen. Hier sind die SO-Antworten, die ich verwendet habe:
echo
Diese Antwort+
,-
,*
Und%
diese Frage?
Diese Antwort[
Diese Antwort=
und:
Diese Community Wiki Frage2147483647
Diese Antwortfoo
Diese AntwortIch habe die Variable
foo
wiea
undb
im Code umbenannt.quelle
Python 2,
76 ReferenzenDas Erstellen dieser Lösung war nicht so einfach wie es aussah. Das Durchsuchen des Stapelüberlaufs nach spezifischem Code ist schwierig, da Symbole nicht in die Suche einbezogen werden.
Ich hatte einen Weg gefunden, dies mit 2000-Bit-Zufallszahlen zu tun, wobei
ichanstelle von Ref # 1 eine andere Antwort verwendete,getrandbits
os.urandom
NotImplementedError
aber ich konnte sie in den von mir verwendeten Online-Umgebungen nicht testen, da es sich umAnrufe handelte, die mirFolgendesgaben: Also bin ich stattdessen diesen Weg gegangen.Dies könnte jetzt tatsächlich mit TIO verwendet werden.Probieren Sie es online aus
Verweise
import random
wird als geladen angenommen, da die Frage besagt, dass dies erlaubt ist.lst = []
undlst.append(random.randint(1, 100))
- hiermap(sum, zip(r1, r2))
,map(lambda t: t[0] - t[1] ,zip(r1, r2))
,r1
, Undr2
- hierresult = float(a) / b
- Hierab = [a[i]*b[i] for i in range(len(a))]
- Hierfirst, last = some_list[0], some_list[-1]
- Hierprint x
- HierUmbenannt
lst
umbenannt inn1
undn2
(Ref # 1: Ich habe den gesamten Code zweimal verwendet)r1
undr2
umbenannt inn1
undn2
(Ref # 2: Ich habe die separaten Variablen später verwendet, um die Karten zuzuweisen und im letzten Druck zu teilen, da die Antwort sie enthielt.)result
unda
umbenannt inab
undb
umbenannt inn2
(Ref # 3)a
undb
umbenannt inn1
undn2
(Ref # 4)first
undsome_list
beide umbenanntr1
,r2
,ab
, odern2
, je nachdem , welche Linie. (Ref. 5: Ich habe dies vier Mal verwendet. Beachten Sie, dass nur die erste Zuweisung verwendet wird, sodass ich sie nicht umbenennelast
)x
umbenannt wirdr1
,r2
oderab
, je nachdem , welche Linie. (Ref # 6)quelle
Dezimalzahl , 2 Verweise
Verwendete Befehle:
0
SET (Standard Stack Index)1
DRÜCKEN2
VERKOHLEN2
POP3
I / O00
doppelter Stapel01
vom Stack zum STDOUT4
MATHEMATIK1
HINZUFÜGEN2
SUBTRAHIEREN3
MULTIPLIZIEREN4
TEILEN8
BUILTIN2
Zufällige Ganzzahl zum Stapeln drückenErklärte Version:
Quellen:
d
(aktiviert)0
durch9
Probieren Sie es online! Sie müssen den Ausgabecache deaktivieren, wenn er nicht automatisch deaktiviert wird.
quelle