String Kapsul Waktu 2016: Cakupan

8

Pertimbangkan 74 karakter dari string kapsul waktu 2016 (perhatikan ruang utama):

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

Tugas Anda adalah menulis sebanyak mungkin program ( dalam bahasa yang sama ) menggunakan karakter-karakter ini. Output dari setiap program harus kosong. Ketika semua program dan outputnya dipertimbangkan, ia hanya harus menggunakan masing-masing dari 74 karakter di atas tidak lebih dari sekali.

Skor Anda ditentukan oleh jumlah program yang telah Anda tulis, dengan total panjang program menjadi tie-breaker (menang panjang terbesar).

Beberapa aturan lagi:

  1. Setiap program harus diakhiri.
  2. Setiap program harus merupakan program lengkap dan keluaran dalam format yang masuk akal.
  3. Semua output ke STDERR diabaikan.
  4. Anda tidak boleh menjalankan program Anda dengan bendera apa pun, kecuali yang diperlukan untuk menjalankan program. (Misalnya, -ebendera yang mengeksekusi sumber program.)
  5. Jika program memiliki output yang tidak dapat ditekan, Anda dapat mengabaikan ketika mempertimbangkan output. (Misalnya, Anda dapat mengabaikan jejak baris baru.)
  6. Setiap program harus dapat dijalankan dengan stdin kosong.

Contoh

Jika saya memiliki program 4dan T1~yang dihasilkan 4dan 9masing - masing, mereka akan, ketika dipertimbangkan bersama, menjadi

44T1~9

Yang dapat dilihat sebagai bagian dari string kapsul. Namun, jika saya memiliki program 4@|4dan |e+yang dikeluarkan 4dan fmasing - masing, mereka akan:

4@|44|e+f

Dan, karena ada 3 4s, itu bukan subset.

Conor O'Brien
sumber
1
Dapat mengabaikan ans = ..keluaran dari MATLAB? Itu diizinkan secara default, kecuali untuk tantangan seperti "Halo, dunia" dan tantangan lainnya dengan format yang sangat ketat.
Stewie Griffin
1
Program tidak diharapkan menghasilkan keluaran yang berbeda, atau menjadi berbeda sendiri, bukan?
Fatalkan
@StewieGriffin Ya, Anda bisa, saya akan mengedit untuk mencerminkan ini.
Conor O'Brien
@LuisMendo Setiap program harus dapat dijalankan dengan stdin kosong.
Conor O'Brien
@ParklePony Saya tidak akan mengatakan "absurd".
Conor O'Brien

Jawaban:

2

PHP, 22 program

Ya, saya merasa agak membosankan.

Program (dipisahkan oleh baris baru):

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

Output dan program digabungkan:

!!!!$$))))..44@@QQTT\\````````ee||||~~~~~~~~
Okx
sumber
Anda dapat menambahkan Wortel ke daftar (tetapi `` tidak menghasilkan apa-apa)
user41805
Begitu juga $(ini mendapat input pengguna). Jadi secara keseluruhan, di Carrot, Anda memiliki 2 program lebih sedikit (hapus satu untuk $ dan \)
user41805
@Kritixi Lithos Apakah ini mendukung 🥕?
Robert Fraser
@RobertFraser Yang bisa saya lihat adalah persegi. Tapi tentu saja, itu output jika kode. Anda dapat mencobanya di sini
user41805
@KritixiLithos Itu emoji wortel: emojipedia.org/emoji/%F0%9F%A5%95
Okx
5

Japt , 11 13 program, panjang 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 ~

Sangat sulit untuk menghasilkan jawaban yang bukan hanya string literal dan menghasilkan sesuatu selain angka ...

Output dan program digabungkan:

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

Saya pikir saya punya mereka semua ...


Ketika dipreteli ke minimum:

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

Ini meninggalkan karakter ini untuk program / output masa depan:

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

Anda dapat perdagangan dua $, )atau |dua dari salah satu karakter dalam sembilan string literal; yaitu, dua dari semuanya !.@Qe|~.

Selain itu, Anda dapat perdagangan keluar Qdalam program ketiga Hatau O, dan Zuntuk H, O, @, atau {.

Produksi ETH
sumber
1

PowerShell , 2 program, panjang 31

+!!($eefmpxy =9)

Cobalah online!

Keluaran 1.
Bekerja dengan mengatur variabel $eefmpxyke 9, merangkum bahwa dalam parens, mengambil Boolean-bukan !itu (yang mengubahnya menjadi $False), maka Boolean-bukan itu (yang mengubahnya ke $True), kemudian dilemparkan sebagai integer dengan +, mengubahnya menjadi 1. Yang tersisa pada pipa dan output tersirat.


4*!$AHILOQQQTTZ

Cobalah online!

Keluaran 4.
Bekerja dengan menginisialisasi variabel $AHILOQQQTTZke default $null, Boolean-bukan !yang $True. Itu secara implisit dilemparkan ke bilangan bulat 1karena perkalian 4*, sehingga hasil 4yang tersisa di pipa dan output tersirat.


Kami benar-benar terbatas di PowerShell untuk hal-hal lain, seolah-olah kami memiliki banyak karakter pipa |untuk perintah pipa bersama, kami hanya punya satu {dan tidak }; terlalu banyak )untuk sendirian (; backtick `digunakan sebagai "penanda kelanjutan garis" untuk menafsirkan banyak baris sebagai satu (digunakan untuk keterbacaan), tetapi kami tidak memiliki umpan baris untuk digunakan; dan ~dan ^karakter "Dicadangkan untuk penggunaan di masa mendatang" dan dengan demikian melemparkan kesalahan sintaksis ketika Anda mencoba menggunakannya. Jadi, sebagian besar karakter tidak berguna, yang memalukan.

Sementara #karakter memulai komentar (dan semuanya setelah itu benar-benar diabaikan), rasanya curang untuk menggunakannya seperti itu, jadi saya tidak memasukkannya di atas.

AdmBorkBork
sumber
0

Kardinal , 1 program, panjang 73

%#~~~~~~~~~!!!!!+=.*449eefmpxyAHLOQQQTTZ`````````@@@$$I\\^{|||| ())))&..:

Output 1

Cobalah online!

Kardinal hanya dapat memiliki 1 program yang valid yang akan melakukan apa saja karena hanya ada 1%.

fəˈnɛtɪk
sumber
0

05AB1E , 4 program, panjang 19

Program

)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])

Output dan program digabungkan

!)149AHLOTT\\```fxy
Emigna
sumber