2016 Time Capsule String: Abdeckung


8

Betrachten Sie die 74 Zeichen aus der Zeitkapselzeichenfolge 2016 (beachten Sie das führende Leerzeichen):

 !!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~

Ihre Aufgabe ist es, so viele Programme wie möglich ( in derselben Sprache ) mit diesen Zeichen zu schreiben . Die Ausgabe jedes Programms darf nicht leer sein. Wenn alle Programme und ihre Ausgaben berücksichtigt werden, darf jedes der 74 oben genannten Zeichen nur einmal verwendet werden.

Ihre Punktzahl wird durch die Anzahl der von Ihnen geschriebenen Programme bestimmt, wobei die Gesamtlänge der Programme ein Gleichstand ist (die größte Länge gewinnt).

Noch ein paar Regeln:

  1. Jedes Programm muss beendet werden.
  2. Jedes Programm muss ein vollständiges Programm sein und in einem angemessenen Format ausgegeben werden.
  3. Alle Ausgaben an STDERR werden ignoriert.
  4. Sie dürfen Ihr Programm nicht mit Flags ausführen, außer denen, die zum Ausführen des Programms erforderlich sind. (ZB ein -eFlag, das die Programmquelle ausführt.)
  5. Wenn das Programm eine Ausgabe hat, die nicht unterdrückt werden kann, können Sie diese ignorieren, wenn Sie die Ausgabe berücksichtigen. (Sie können beispielsweise nachfolgende Zeilenumbrüche ignorieren.)
  6. Jedes Programm sollte mit leerem Standard ausgeführt werden können.

Beispiel

Wenn ich Programme hatte 4und T1~dass ausgegeben 4und 9jeweils, würden sie, wenn sie zusammen betrachtet, sein:

44T1~9

Was als Teilmenge der Kapselkette angesehen werden kann. Wenn ich Programme hatte jedoch 4@|4und |e+daß ausgegeben 4und fjeweils, würden sie sein:

4@|44|e+f

Und da es 3 4s gibt, ist es keine Teilmenge.


1
Kann ans = ..in der Ausgabe von MATLAB ignoriert werden ? Dies ist standardmäßig zulässig, mit Ausnahme von Herausforderungen wie "Hallo Welt" und anderen Herausforderungen mit einem sehr strengen Format.
Stewie Griffin

1
Von Programmen wird nicht erwartet, dass sie unterschiedliche Ergebnisse liefern oder selbst unterschiedlich sind, oder?
Fatalize

@StewieGriffin Ja, Sie können, ich werde bearbeiten, um dies zu reflektieren.
Conor O'Brien

@LuisMendo Jedes Programm sollte mit leerem Standard ausgeführt werden können.
Conor O'Brien

@SparklePony Ich würde nicht ganz "absurd" sagen.
Conor O'Brien

Antworten:


2

PHP, 22 Programme

Ja, ich verstehe, dass es irgendwie langweilig ist.

Programme (durch einzelne Zeilenumbrüche getrennt):

!
!
$
)
)
.
4
@
Q
T
\
`
`
`
`
e
|
|
~
~
~
~

Ausgabe und Programme kombiniert:

!!!!$$))))..44@@QQTT\\````````ee||||~~~~~~~~

Sie könnten Karotte zur Liste hinzufügen (aber `` gibt nichts aus)
user41805

Und das tut es auch $(dies erhält Benutzereingaben). Insgesamt haben Sie in Carrot zwei Programme weniger (entfernen Sie das für $ und \)
user41805

@Kritixi Lithos Unterstützt es 🥕?
Robert Fraser

@ RobertFraser Alles was ich sehen kann ist ein Quadrat. Aber sicher, es gibt es aus, wenn es der Code ist. Sie können es hier
user41805

@KritixiLithos Das ist ein Karotten-Emoji: emojipedia.org/emoji/%F0%9F%A5%95
Okx

5

Japt , 11 13 Programme, Länge 61

\x:#).&~L // outputs 9  (41 & ~100)
~T+~Tf)p  // outputs 4  ((~0 + ~floor(0)) ** 2)
$~Q$ *\~Z // outputs 1  (~'"' * ~0)
I%A^O||@{=!(Hmy))  // outputs 4  (64 % 10 ^ {} || function(X,Y,Z) { return function() { return ((U = !(H.m("y")))) } })
`!        // outputs !
`!        // outputs !
`.        // outputs .
`@        // outputs @
`Q        // outputs Q
`e        // outputs e
`|        // outputs |
`~        // outputs ~
`~        // outputs ~

Es ist furchtbar schwer, eine Antwort zu finden, die nicht nur ein String-Literal ist und etwas anderes als eine Zahl ausgibt ...

Ausgabe und Programme kombiniert:

 !!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~

Ich glaube, ich habe sie alle ...


Wenn auf das Nötigste reduziert:

#)&~L
~T+~T)p
~Q*~Z
I%A
`!
`!
`.
`@
`Q
`e
`|
`~
`~

Diese Zeichen bleiben für zukünftige Programme / Ausgaben übrig:

 !$$()).:=@HO\\^fmxy{||

Sie können zwei von Handel $, )oder |für zwei von einem des Zeichens in den neun Stringliterale; das heißt, zwei von jedem von !.@Qe|~.

Darüber hinaus können Sie den Handel aus Qfür im dritten Programm Hoder O, und das Zfür H, O, @, oder {.


1

PowerShell , 2 Programme, Länge 31

+!!($eefmpxy =9)

Probieren Sie es online aus!

Ausgänge 1.
Funktioniert, indem die Variable $eefmpxyauf gesetzt wird 9, diese in Parens eingekapselt wird, das Boolesche-nicht !von dem (das es umdreht $False), dann das Boolesche-nicht von dem (was es umdreht $True) genommen wird, dann als Ganzzahl mit umgewandelt +und umgedreht wird 1. Das bleibt in der Pipeline und die Ausgabe ist implizit.


4*!$AHILOQQQTTZ

Probieren Sie es online aus!

Ausgänge 4.
Funktioniert durch Initialisieren der Variablen $AHILOQQQTTZauf den Standardwert von $null, dessen Boolescher Wert nicht !ist $True. Dies wird 1aufgrund der Multiplikation von implizit in eine Ganzzahl umgewandelt 4*, sodass das Ergebnis von 4in der Pipeline verbleibt und die Ausgabe implizit ist.


Wir sind in PowerShell für andere Dinge wirklich eingeschränkt, da wir viele Pipe-Zeichen |für Pipeline-Befehle zusammen haben, haben wir nur einen {und keinen }; zu viele )für den Einsamen (; Der Backtick `wird als " Zeilenfortsetzungsmarkierung " verwendet, um mehrere Zeilen als eine zu interpretieren (aus Gründen der Lesbarkeit), aber wir haben keinen entsprechenden Zeilenvorschub. und die Zeichen ~und ^sind "Für zukünftige Verwendung reserviert" und werfen daher einen Syntaxfehler auf, wenn Sie versuchen, sie zu verwenden. Die meisten Charaktere sind also nutzlos, was eine Schande ist.

Während der #Charakter einen Kommentar startet (und alles, nachdem er vollständig ignoriert wurde), fühlt es sich betrügerisch an, ihn so zu verwenden, also habe ich ihn oben nicht aufgenommen.



0

05AB1E , 4 Programme, Länge 19

Programme

)O!            # outputs 1    fac(sum([]))
A`\            # outputs y    2nd_last(alphabet)
THf`x          # outputs 4    last_primefactor(int(10,16))*2
TL`\           # outputs 9    2nd_last(range[1 ... 10])

Ausgabe und Programme kombiniert

!)149AHLOTT\\```fxy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.