Schreiben Sie ein Programm, das auf so vielen verschiedenen Plattformen wie möglich unterschiedliche Verhaltensweisen erzeugt. Jede unterschiedliche Plattform vergibt einen Punkt (einschließlich einer anfänglichen Plattform, was bedeutet, dass Sie nicht weniger als 1 * erzielen können). Mechanismen zur Bestimmung der Ziel- / Ausführungsplattform (z. B. durch Plattformkompilierungsanweisungen oder APIs wie .NETs Environment.OSVersion.Platform) dürfen nicht verwendet werden. Die Antwort mit der höchsten Punktzahl gewinnt (wobei Upvotes die Tiebreaker sind).
Betrachten Sie beispielsweise das folgende Programm in der Blub-Sprache : print (1+2). Wenn dieses Programm 3auf jeder Plattform gedruckt würde, auf der es kompiliert und ausgeführt wird, wäre seine Punktzahl 1. Wenn es jedoch aus irgendeinem Grund 4auf PDP-11 drucken würde, wäre seine Punktzahl 2. usw. Aber das Folgende Ein C-Snippet ist beispielsweise ein ungültiger Eintrag : #ifdef WIN32 ... #endif.
Definitionen / Details:
Unterschiedliche Plattform: Die Kombination von a) der Hardwarearchitektur b) dem Betriebssystem und seiner Hauptversionsnummer (z. B. 1.0.0 und 1.1.0 gelten als dasselbe Betriebssystem)
Unterschiedliches Verhalten: Zwei Verhaltensweisen sind gleich, wenn sie ähnliche Nebenwirkungen hervorrufen (z. B. das Erstellen derselben Datei mit demselben Inhalt) oder wenn es sich bei den Nebenwirkungen um Fehler derselben Art handelt. Wenn ein Programm beispielsweise auf zwei verschiedenen Plattformen segfault, die Meldung segfault auf diesen Plattformen jedoch unterschiedlich ist, wird dies immer noch als dasselbe Verhalten angesehen. Während ein Programm, das auf einer Plattform einen Nullteilungsfehler und auf einer anderen Plattform einen Stapelüberlauf (siehe, was ich dort gemacht habe?) erzeugt, ein anderes Verhalten erzeugt.
Alle undefinierten Verhaltensweisen werden als gleichwertig angesehen.
Das Programm muss auf allen Plattformen gleichwertig aufgerufen werden (dies bedeutet jedoch, dass Sie Befehlszeilenparameter übergeben können, wenn Sie dies wünschen).
* Nun, ich denke, Sie würden null Punkte erzielen, wenn Ihr Programm auf null Plattformen ausgeführt würde. Aber ähm ... Ja, egal.
1unter Windows und2OSX gedruckt wird , mit dem Detail, dass ich es als Python-Skript unter Windows und als C-Programm unter OSX ausführe?