Sekitar setahun yang lalu pada tanggal 31 Desember 2015, saya memiliki ide bahwa:
Doorknob dengan anggun mengumpulkan karakter dari komunitas PPCG dan menjaganya tetap aman selama setahun.
Sebanyak 74 orang berpartisipasi sehingga kami memiliki 74 karakter ASCII yang dapat dicetak untuk dimainkan!
Berikut adalah 74 karakter string kapsul waktu 2016 sesuai urutan pengirimannya:
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
Berikut adalah 74 karakter string kapsul waktu 2016 dalam urutan ASCII (catatan ruang terdepan):
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
Ini tidak banyak untuk dikerjakan, tetapi di sini kami menyukai tantangan.
Tantangan
Untuk menentukan bahasa apa yang "terbaik" dengan string kapsul waktu, kami akan memiliki 6 (untuk 201 6 ) tantangan yang meningkat dalam kesulitan di mana pada masing-masing Anda harus menggunakan subset dari 74 karakter kapsul waktu.
Memiliki 6 tantangan berbeda membantu memastikan lebih banyak bahasa dapat bersaing, tetapi hanya bahasa terbaik yang dapat menjawab semuanya dan mendapat skor tinggi.
Mencetak:
- Setiap tantangan akan dinilai dari 0 hingga 74 tergantung pada berapa banyak karakter yang digunakan.
- Skor yang lebih tinggi lebih baik.
- Jika bahasa Anda tidak dapat menyelesaikan tantangan, skor Anda untuk tantangan itu adalah 0.
- Setiap subset nonempty dari tantangan dapat diselesaikan.
- Skor akhir Anda adalah jumlah skor dari semua 6 tantangan.
- Skor akhir terbaik adalah 6 × 74 atau 444 .
Tantangan
1. Jalankan
Jika kode bahasa tidak dapat dijalankan, kode bahasa tidak akan bisa melakukan apa pun.
Tulis program penuh terpanjang yang mungkin (ingat, hanya 74 karakter kapsul waktu) yang berjalan / dijalankan tanpa kesalahan waktu kompilasi atau runtime.
Tidak masalah apa yang dilakukan oleh program, tidak masalah apakah ia memiliki input / output atau memasuki loop tak terbatas, itu hanya masalah bahwa ia berjalan tanpa kesalahan. (Peringatan ok, seperti juga kesalahan yang disebabkan oleh input pengguna yang buruk.)
Komentar diperbolehkan, jadi ini bisa sesederhana
#H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
dalam Python untuk skor 74.
(Jangan takut untuk menjawab jika ini adalah satu-satunya tantangan yang dapat diselesaikan oleh bahasa Anda, tetapi jangan berharap banyak suara juga.)
Nilai = panjang program (program lebih lama lebih baik)
2. I / O
Bahasa yang tidak memiliki bentuk input atau output hampir sama tidak bergunanya dengan yang tidak bisa dijalankan.
Diberikan karakter ASCII yang dapat dicetak dari !
(0x33) hingga }
(0x7D) inklusif, mengeluarkan karakter ASCII yang dapat dicetak sebelum dan sesudahnya.
Outputnya bisa panjang dua string atau daftar, atau karakter dipisahkan oleh spasi atau baris baru.
Misalnya jika inputnya adalah }
output mungkin |~
atau ["|", "~"]
atau | ~
atau |\n~
.
Demikian juga, "
adalah output untuk !
dan AC
output untuk B
.
Nilai = 74 - panjang program (program pendek lebih baik)
3. Branchability
Persyaratan sering merupakan persyaratan untuk kelengkapan Turing , yang seringkali merupakan persyaratan agar suatu bahasa bermanfaat.
Diberikan bilangan bulat positif, jika berakhir dengan angka desimal 16
maka ubah 6
ke a 7
dan hasilkan hasilnya; jika tidak, output input tidak berubah. Anda dapat menggunakan string untuk input / output jika diinginkan.
Contoh:
2016 -> 2017
16 -> 17
116 -> 117
1616 -> 1617
6 -> 6
15 -> 15
17 -> 17
106 -> 106
2106 -> 2106
Nilai = 74 - panjang program (program pendek lebih baik)
4. Loopability
Bahasa yang tidak dapat melakukan loop akan menelurkan kode yang berulang sehingga Anda perlu istirahat sejenak untuk pemrograman.
Dengan bilangan bulat positif, mengeluarkan persegi ASCII-art dengan panjang sisi yang diisi dengan pola kotak kecil yang konsentris yang bergantian antara dua karakter ASCII yang dapat dicetak yang berbeda . Mereka tidak harus dua karakter yang sama untuk input yang berbeda.
Sebagai contoh:
1 <- input
X <- output
2
XX
XX
3
XXX
X-X
XXX
4
XXXX
X--X
X--X
XXXX
5
YYYYY
Y...Y
Y.Y.Y
Y...Y
YYYYY
6
XXXXXX
X----X
X-XX-X
X-XX-X
X----X
XXXXXX
7
ZZZZZZZ
Z-----Z
Z-ZZZ-Z
Z-Z-Z-Z
Z-ZZZ-Z
Z-----Z
ZZZZZZZ
Nilai = 74 - panjang program (program pendek lebih baik)
5. Matematika
Bahasa yang tidak bagus dengan angka dan matematika mungkin juga untuk jurusan humaniora.
Tidak mengambil input tetapi output 72 pembagi integer 2016 , positif dan negatif, dalam urutan apa pun. Output dapat diformat sebagai string atau daftar dengan cara yang masuk akal.
Contoh:
-1, -2, -3, -4, -6, -7, -8, -9, -12, -14, -16, -18, -21, -24, -28, -32, -36, -42, -48, -56, -63, -72, -84, -96, -112, -126, -144, -168, -224, -252, -288, -336, -504, -672, -1008, -2016, 1, 2, 3, 4, 6, 7, 8, 9, 12, 14, 16, 18, 21, 24, 28, 32, 36, 42, 48, 56, 63, 72, 84, 96, 112, 126, 144, 168, 224, 252, 288, 336, 504, 672, 1008, 2016
Nilai = 74 - panjang program (program pendek lebih baik)
6. Esoterisme
(Tidak, bukan itu .) Kami di PPCG menyukai barang-barang esoterik kami , dan quines adalah contoh yang bagus untuk itu.
Tuliskan quine terpanjang yang Anda bisa, sesuai aturan quine yang biasa . Quine adalah program yang tidak mengambil input dan output sendiri.
Nilai = panjang program (program lebih lama lebih baik)
Aturan khusus
- Di masing-masing dari 6 tantangan program Anda harus menjadi bagian dari 74 karakter kapsul waktu yang disusun ulang sesuka Anda. Ini mungkin subset kosong atau subset yang tidak tepat , sehingga setiap program Anda dapat memiliki sedikitnya 0 dan sebanyak 74 karakter.
- Satu baris baru di akhir input / output / kode tidak masalah di mana saja karena beberapa bahasa memerlukan ini atau tidak dapat dengan mudah dihindari.
- Kecuali ditentukan lain, setiap tantangan dapat diselesaikan sebagai fungsi atau program lengkap sesuai dengan standar kami .
- Semua tantangan harus diselesaikan dalam bahasa yang sama.
- Anda harus menggunakan bahasa (atau versi bahasa) yang dibuat sebelum 2017 di mana pun di Bumi .
- Siapa pun boleh menjawab, apakah Anda menambahkan karakter ke kapsul waktu atau tidak.
Jangan ragu untuk menggunakan karakter kapsul waktu 2016 dalam tantangan Anda sendiri.
sumber
6×74 or 444
tidak mungkin, karena itu berarti program kosong, yang entah bagaimana berperilaku berbeda. karenanya, 442 adalah minimum sebenarnya, karena itu berarti bahwa dua dari 3 program pengambilan input memiliki arang di dalamnyaJawaban:
Glypho , 74 + (74 - 36) = 112
1. Jalankan (74 byte)
2. IO (36 byte)
Penjelasan
Glypho sepertinya pilihan yang cukup baik untuk tantangan ini, karena itu tidak peduli dengan karakter yang sebenarnya digunakan. Alih-alih, ia melihat kelompok empat karakter dan memilih perintah berdasarkan pola pengulangan dalam empat karakter tersebut. Karena ada banyak duplikat di antara string kapsul waktu, kami cukup fleksibel dalam program yang dapat kami tulis, kecuali bahwa kami terbatas pada program 18 perintah (yang tidak banyak di Glypho). Meskipun ini memungkinkan saya untuk menyelesaikan dua masalah pertama dengan cukup mudah, saya ragu bahwa Glypho dapat menjalankan yang lainnya dengan sedikit karakter.
Saya telah menguji ini menggunakan Java interpreter yang diambil dari 2006-06-23 pada mesin wayback , yang menggunakan pemetaan perintah yang sedikit berbeda:
Program Run diterjemahkan menjadi:
Di mana
...
beberapa sampah yang saya tidak repot menerjemahkan.Program IO diterjemahkan menjadi:
Inilah yang dilakukan:
sumber
CJam, 74 + (74 - 14) + (74 - 26) = 182 skor
1. Jalankan (74 byte)
Pindah
e#
ke komentar depan keluar seluruh baris.2. I / O (14 byte)
Dennis menyimpan 8 byte.
Penjelasan:
3. Branchability (26 bytes)
Penjelasan:
Saya akan melihat yang lain nanti. ( EDIT : Saya ragu itu mungkin, tanpa literal atau string ... mungkin matematika?)
sumber
9`)ZH*+~):Q(Q)
.J, skor 71 + (74 - 19) = 126
Tugas 1, panjang 71
Ini mendefinisikan kata kerja
AHILO
menjadi bagian dalam. Tidak digunakan:Saya tidak berpikir ada cara untuk mendapatkan lebih lama dari ini.
Tugas 3, panjang 19
Cara untuk melakukan tugas ini tanpa batasan adalah
+16=100|]
, yang berbunyi sebagai berikut:Kami memiliki
+
,=
dan beberapa salinan atau|
dalam pembuangan kami, dan mudah untuk berkeliling]
, tetapi jumlahnya lebih bermasalah. Inilah bagian pertama yang menghitung input modulo 100:Setelah kita selesai dengan itu, mari kita menghasilkan angka 16. Cara mudahnya adalah dengan
*~4
(4 dikalikan dengan dirinya sendiri), tetapi kita sudah menggunakannya*
sehingga itu terlarang. Sebagai gantinya, kami akan melakukan beberapa manipulasi array.Kerja
2
Ini sangat mustahil. Satu-satunya cara untuk memanipulasi nilai karakter adalah
a.
danu:
, dan kami tidak memiliki akses ke keduanya.Sekarang, jika kita bisa menggunakan
a
alih-alih, katakanlahA
, maka ini akan menjadi solusi:Bagian tersulit untuk membuatnya berfungsi adalah menghasilkan angka -1.
4
Ini menghasilkan bentuk kulit, tetapi sepertinya saya tidak bisa menemukan cara untuk menghasilkan karakter. Sayang.
5
Harus diakui, ini sepertinya tugas yang paling mudah untuk dilakukan di J. Namun, tanpa
i.
, ini akan sangat sulit.6
Ini kemungkinan tidak mungkin tanpa quine palsu-out seperti
449
atau sesuatu seperti itu, karena string kapsul tidak mengandung tanda kutip atau cara lain untuk menghasilkan string J.sumber
Q{~1+I.~&Q=:a.
beri karakter berikutnya: ikat alfabeta.
keQ
, temukan indeks input di dalamnyaI.
, tambahkan satu, dan indeks keQ
. Cobalah. Satu-satunya masalah yang tersisa adalah menghasilkan-1
...+16=100&|
. Anda hanya perlu menghasilkan 16 dan 100 entah bagaimana.+($@#~@$~4)=1e4|&%:*~
Itu sangat menjengkelkan karena kami hanya punya satu(&=:+*
dan dua masing-masing4
.Q{~(*^.4%9 1)+I.~&Q=:a.
Saya menyadari bahwa logaritma^.
memberikan angka negatif untuk input secara ketat antara 0 dan 1, dan kami memiliki%
untuk menghasilkan pecahan dan*
untuk mengambil hasilnya menjadi -1 dan 1.PowerShell - Total Skor: 74
1. Jalankan - Skor: 74
Karena ini sangat sulit di PowerShell (setiap metode yang mungkin untuk mendapatkan input tidak mungkin dengan karakter yang diberikan, sejauh yang saya tahu), saya setidaknya memutuskan untuk mengacak tantangan pertama sehingga kita tidak semua menyalin contoh secara langsung dari pos.
Jadi, inilah generator jawaban tantangan 1 acak (untuk bahasa di mana
#
ada komentar):Cobalah online!
sumber
$^
adalah "token pertama dari baris sebelumnya dalam sesi ini," yang akan sangat terbatas dan sangat mungkin pembengkokan parah aturan I / O standar.$^
kosong dalam sesi baru.meme , skor (
6265 + 70) 1351: Jalankan
Saya menghapus semua backticks (
`
) dan operator matematika. Mereka berkonflik karena tidak ada angka yang cukup untuk memuaskan setiap operator unary dan binary. Saya meninggalkan beberapa, menghasilkan +3 byte . Program yang dihasilkan:Saya tidak tahu mengapa dan bagaimana ini bekerja. Atleast itu tidak membuang pengecualian runtime C #, dan karena itu tidak crash.
6: Quine
Anda tahu, jika ada
-
huruf kecil atau huruf kecilq
di suatu tempat di 74 karakter itu, ini akan terlalu mudah. Saya senang untukI
operator, minimal.Kode ini tidak terlalu jelas. Berikut penjelasannya:
String pecahan (misalnya1/4
) ditampilkan dengan I di bagian akhir, untuk menunjukkan dengan tepat hal itu. TheI
Operator biasanya tidak berguna, saya menambahkan untuk cara lain, tapi hei, ia bekerja seperti ini!Kode di atas tidak valid. Bodoh saya tidak melihat bahwa 74 karakter tidak mengandung operator divisi tunggal, forwardslash (
/
). Saya datang dengan sesuatu yang lain:Penjelasan:
Output
True
(karena cara C # menanganiBoolean.ToString()
huruf besar dan bukan huruf kecil). Tidak yakin apakah ini quine yang tepat, sementara itu saya masih meremukkan kepalaku untuk yang valid, benar-benar tepat, dan intuitif.Mungkin juga bisa memecahkan tantangan I / O dan Math, tapi saya kehilangan token spesifik (karakter) yang tidak termasuk dalam 74 karakter.
sumber
Brainfuck, 74 byte
Aku harus melakukannya.
Penjelasan:
Setiap karakter yang bukan karakter Brainfuck yang valid diperlakukan sebagai komentar. Satu-satunya kode yang benar-benar dijalankan adalah ini:
Ini tidak menghasilkan output yang dapat dicetak, karena 0 maupun 1 tidak dapat dicetak dalam ASCII. Namun, itu tidak menyebabkan kesalahan, jadi kami berhasil menyelesaikan tantangan pertama.
sumber
Mathematica, skor 62
Saya akan terkejut jika ada yang bisa membuat tantangan 2-6 bekerja di Mathematica. Inilah yang terbaik yang saya lakukan dengan tantangan 1:
Mendefinisikan fungsi yang sangat bodoh
A
dengan nilai konstan. 12 karakter yang tidak digunakan adalah:sumber
Oktaf, skor 74
1. Jalankan
50 dari karakter ini adalah bagian dari fungsi, sedangkan 24 karakter lainnya tidak.
Apa fungsinya:
x =@(AHILOQQQTTZeefmpy)
menciptakan fungsix
yang dapat mengambil variabelAHILOQQQTTZeefmpy
sebagai input.Untuk memahami sisanya:
a||b
memanggil fungsiall()
pada keduanyaa
danb
. Jika salah satu atau keduanya mengembalikan true,||
operator akan mengembalikan true.!a
dan memiliki~a
arti yang sama di sini, keduanyanot(a)
.a.^b
adalah kekuatan elemen-bijaksana(a(1)^b(1), a(2)^b(2) ...)
Penjelasan lanjutan
Saya akan mempersingkat setiap langkah seiring berjalannya waktu:
Dan:
Ada bilangan genap
not
, jadi ini setara dengannot(not(4))
yangtrue
atau1
.Sisanya dikomentari.
sumber
*> <> , skor total = 74
1. Lari, skor 74
Coba di sini!
Ini sangat sulit dilakukan tanpa
;
karakter. Saya benar-benar berpikir itu tidak mungkin untuk beberapa saat, sampai saya melihat%
, pada dasarnya saya menyerah.Ini juga merupakan program yang valid> <>.
Dijelaskan (bagian yang tidak relevan dihilangkan)
Tantangan yang dihadapi
Saya mungkin mencoba tantangan lain ... mereka akan sangat sulit dan mungkin melibatkan membengkokkan aturan dengan cara yang aneh, tetapi penggunaan
|
cermin dan!
trampolin secara liberal harus membuat setidaknya satu tantangan lagi menjadi mungkin.Tantangan ini sangat sulit karena kami tidak diizinkan menghasilkan apa pun dengan *> <> (
o
dann
), atau bahkan pemanggilan fungsi (C
), pengembalian fungsi (R
), atau terminator program (;
). Meskipun kami juga tidak memilikii
input, kami masih dapat memasukkan input pada tumpukan yang merupakan nilai tambah. Kelebihan lainnya adalah kita mendapatkan satup
instruksi, yang memungkinkan kita untuk mengganti instruksi dalam kotak kode. Ini mungkin dapat digunakan beberapa kali (belum menemukan cara praktis), yang akan mulai membuat program lain tampak lebih mungkin (karena kita dapat menghasilkan dua atau lebih instruksi).sumber
Haskell, skor 63
1. Jalankan:
Tidak digunakan adalah
)))```````{
. Komentar di Haskell adalah--
atau{- ... -}
, jadi tidak ada versi all-comment yang mudah.Kode ini mendefinisikan operator infiks
!!!!!#$$%&*+...:@@@\^||||~~~~~~~~~
yang mengambil dua argumen:fmpxyAHILOQQQTTZ
yang diabaikan dan karenanya dapat dari jenis yang sewenang-wenange
, yang harus berfungsi mengambil dua angkaDalam fungsi tubuh
e
kemudian diterapkan ke 14 dan 49, menggunakan`
notasi -infix.Contoh penggunaan:
Operator diterapkan ke
()
, tuple kosong, dan(*)
, operator perkalian, jadi14*49 = 686
dihitung.Cobalah online!
Tantangan lain
Saya ragu bahwa ada tantangan lain yang mungkin, terutama karena kurangnya kemungkinan nama variabel yang dapat muncul dua kali, yang hanya
e
(atau sesuatu sepertieQT
), karena nama variabel tidak dapat dimulai dengan huruf besar. Tentu saja, hanya memiliki satu=
juga tidak membantu.sumber
Pyth, 131 untuk saat ini (2 tantangan selesai)
1. Jalankan, 74
Program ini tidak mengambil input dan tidak membuat output.
Program ini menggunakan
$$
, yang memungkinkan eksekusi kode arbitrer, dan juga dilarang secara online, sehingga program ini online berjalan offline. Inilah output kompilasi-nya, sehingga Anda dapat melihat apa yang sebenarnya dijalankan:Agak sulit untuk menulis program dengan karakter arbitrer yang tidak kesalahan dalam Pyth. Saya mengatur sendiri tantangan tambahan untuk mensyaratkan bahwa program berjalan tanpa memerlukan input pengguna juga.
Langkah pertama adalah menggunakan
#
untuk memakan semua kesalahan. Selanjutnya, kita perlu menghindari kesalahan yang disebabkan oleh~
,I
danL
, yang masing-masing memiliki detailnya sendiri. Ini dicapai dengan menempatkan mereka di dalam$$
, yang menanamkan mereka di dalam kompilasi output, dan dengan demikian menjadikan mereka aturan kompilasi Python, bukan Pyth's. Akhirnya, untuk menghindari pengambilan input pengguna, berbagai token 0 arity (Variabel dan yang serupa) ditempatkan di akhir, danQ
s dipindahkan di dalam$$
blok.2. IO
Ini akan sangat sulit, jika itu mungkin. Tidak ada fungsi Pyth yang menciptakan string atau karakter arbitrer yang hadir kecuali
.f
, dan yang melakukan pekerjaan yang sangat buruk untuk membuat karakter arbitrer.3. Branchability: 74 - 17 = 57
Cobalah online
Program Pyth yang setara adalah:
Kode ini mengambil input mod 100, membandingkannya dengan 16, dan kemudian menggunakan ternary untuk memilih antara input dan input plus satu. Karena batasan karakter, saya membuat beberapa pergantian:
Alih-alih
?
, ternary, saya menggunakan|&
,or
kemudianand
, yang memiliki fungsi yang sama, kecuali bahwa itu rusak jika inputnya nol, tetapi karena kami dijamin input integer positif, tidak apa-apa. (Ini bisa diperbaiki tanpa karakter tambahan, tetapi lebih sederhana dengan cara ini.)Alih-alih langsung membandingkan dua angka, saya mengambil XOR mereka
x
, yang nol jika dan hanya jika mereka sama, seperti yang diinginkan.Alih-alih menulis
100
secara langsung, saya menghasilkan dengan*TT
, karenaT
diinisialisasi ke10
.Alih-alih menulis
16
secara langsung, saya menghasilkan denganye|LZ9
.|LZ
dasarnya berfungsi sebagai fungsi rentang, jadi|LZ9
memberi[0, 1, 2, 3, 4, 5, 6, 7, 8]
.e
mengambil elemen terakhir dari daftar, memberi8
.y
menggandakannya, memberi16
seperti yang diinginkan. Dengan tambahan+
atau ekstra*
saya dapat menyimpan karakter, tetapi keduanya lebih berguna di tempat lain.Akan datang lebih banyak lagi!
sumber
Ruby - Skor: 74
1. Jalankan
Diambil dari tantangan.
sumber
JavaScript (ES6), skor = 74
1. Jalankan, 74 byte
6. Esoterisme (tidak valid)
Sebagai catatan, saran saya adalah:
yang ternyata tidak valid, seperti yang dibahas dalam komentar di bawah ini.
sumber
Retina, skor 74
1. Lari, skor 74
Saya memindahkan orangtua tambahan ke konfigurasi agar mereka bisa menyeimbangkan dalam regex. Saya juga pindah
`
setelah itu, dan berubah+.
menjadi.+
.Cobalah online
Yang lain kemungkinan tidak mungkin, karena tidak ada baris baru. Juga tidak ada
-
untuk Transliterasi ataud
kelas karakter digit.sumber
Pip, skor 74 + (74 - 19) = 129
Begitu banyak backticks dengan kutipan untuk dilihat, tunggal atau ganda!
Tugas 1, skor 74
Pada dasarnya hanya serangkaian pola (regex) literal dalam backticks, yang terakhir dicetak. Karena ada jumlah backticks ganjil, kita harus melakukan backslash-escape salah satunya (
`\``
) Cobalah online , dengan-w
bendera yang ditambahkan untuk membuktikan bahwa tidak ada peringatan yang dihasilkan.Tugas 3, skor 55 (panjang 19)
Menggunakan metode input yang agak aneh - argumen baris perintah kelima - ini dimungkinkan. Cobalah online!
Tugas lainnya
Dimungkinkan untuk mendapatkan input untuk tugas 2 , dengan metode yang sama seperti tugas 3 di atas. Masalahnya adalah mengubah kode ASCII dan kembali ke karakter. Yang pertama dapat dilakukan dengan
A
, tetapi yang terakhir membutuhkanC
, atau mungkin pengindeksan ke dalamPA
variabel. Membangun dan mengevaluasi kode tidak dapat dilakukan tanpaV
. Saya pikir tugas itu tidak mungkin.Tugas 4 menantang bahkan tanpa rangkaian karakter terbatas. Pada tebakan, itu akan memerlukan daftar (tanpa menggunakan
[]
pembatas atauRL
(daftar ulang) dan hanya memiliki satu kesempatan untuk menggunakanAL
(menambahkan daftar) - tidak mungkin) atau mungkin sesuatu denganCG
(kotak koordinat) atauMC
(peta peta), keduanya tidak diizinkan .Tugas 5 berada di ambang kemungkinan. Loop akan sulit, karena
F
atau danM
ap tidak mungkin, dan rentang tidak dapat dibangun dengan,
. Mungkin ada sesuatu yang harus dilakukan denganT
sakit. Peningkatan bisa darix:x+1
variasi (jelas dengan variabel selainx
, meskipun). Pemeriksaan keterbagian dapat digunakan%
. Namun, saya tidak berpikir ada cukup karakter - terutama huruf yang diulang - untuk melakukan semua yang perlu terjadi.Tugas 6 terlihat sangat mustahil. Semua quines Pip yang dikenal ada
"
di dalamnya. Mereka juga menggunakanR
(mengganti),RP
(repr), atauV
(eval), tidak ada yang tersedia.sumber
Sebenarnya, skor (74 + 0 + 0 + 0 + 0 + 0 ) = 74
Ya, string kapsul akan berfungsi dengan Actually seperti halnya untuk Run, karena Actually menolak setiap kesalahan dan setiap kesalahan menjadi NOP.
H@~*^)$.
( Coba online! )~+1A|Q)p~
\Z!IQ~e:O.~@#|9@)Tf\eT`=(!
|~!y!
) Q~$x.4|m4~~&!L{%Ini akan menghasilkan kekacauan, (tetapi juga sumbernya sekali: 3).
Saya akan bekerja pada tantangan lain.
sumber
Q
sama sekali (karena itu quining builtin), dan tidak ada tanda kutip ganda, jadi Anda tidak dapat melakukan pemformatan string apa pun. Saya bekerja sebentar di kemarin, dan saya cukup yakin program lain tidak mungkin hanya dengan 74 karakter.05AB1E - Total skor: 74
1. Jalankan, 74 byte
Segala sesuatu yang menyebabkan kesalahan dilewati oleh 05AB1E. Seluruh baris kode ini adalah NOP.
Cobalah online!
sumber
(disalahgunakan) PHP, 74 + 74 = 148
Penerjemah PHP hanya membuang kode sumber sampai menemukan
<?
karena kita tidak memiliki<
setiap permutasi dari karakter tersebut adalah quine yang berjalan. Saya kira ini tidak lebih buruk daripada menggunakan perintah quine builtin: Psumber
output this char
sampai memenuhi<
. Saya tidak mengatakan itu mampu payload atau sth saya hanya mengatakan itu tidak ada bedanya dengan bahasa yang mengatakan charoutput the source
. Jika ini bukan jawaban yang valid untuk bagian 1 dari bahasa apa pun yang menerima input tanpa kesalahan juga bukan jawaban yang valid. Saya tidak berpikir ini lebih kasar daripada kebanyakan jawaban di sini.Mathematica, skor 68
Perhatikan baris baru yang tertinggal. Saya tidak percaya bahwa salah satu tantangan lain dapat dicapai dengan Mathematica.
sumber
Labirin, skor 74
Saya cukup yakin bermacam-macam karakter ini menghasilkan program Labirin yang valid, tetapi untuk membuatnya setidaknya sedikit lebih menarik, ini mencetak
2016
digit demi digit. (Singkatnya: tekan 22
pada stack, pop / print satu, pindahkan yang lain ke aux stack, cetak 0, tekan 21
pada stack, pop / print 1, increment, bitwise not, negate (yang terakhir1
adalah3
pada titik ini), jumlah dengan2
dari stack stack, 5 * 10 + 4 = 54, cetak sebagai nilai ascii, terminasi)Sebagian besar dari garis panjang diabaikan, karena
@
mengakhiri program.Tantangan 2, 3, dan 4 tidak mungkin karena tidak ada perintah input Labyrinth yang tersedia (
,
atau?
), dan saya tidak menemukan apa pun selama 5 atau 6.sumber
SmileBASIC, 48 poin
tantangan 1:
penjelasan:
lainnya:
Tidak ada perintah input / output yang tersedia, jadi sisanya tidak mungkin.
Meski begitu, tidak buruk untuk bahasa nyata tanpa menggunakan komentar.
sumber
MATL , skor total 74
1. Lari, skor 74
Semuanya
%
adalah kode aktual.%
adalah simbol komentar, sehingga karakter di sebelah kanannya diabaikan.Output program
1
tanpa kesalahan.Cobalah online!
sumber
bash, skor 74
1: Jalankan. Kita bisa menjalankan semua 74
6: Esoterisme:
Program kosong adalah quine di bash.
Tanpa karakter spasi putih, tidak ada hal lain dalam daftar yang dapat diselesaikan. Ergo, saya punya entri bash yang menang.
sumber
Perl 6 , skor total 74
1. Lari, skor 74
Tidak ada komentar.
(Hanya menempatkan
#
di depan untuk membuat semua komentar juga berfungsi, tapi ini lebih menyenangkan.)Kerja
Ini adalah bagian dari bahasa Perl 6 yang hanya menggunakan karakter yang diizinkan:
Rintangan langsung yang mencegah tantangan 2-6, adalah sepertinya tidak ada cara untuk melakukan I / O:
Jika kita menganggap ada file yang dipanggil
f
, kita dapat menggunakannyaQ`f`.IO.e
untuk memeriksa apakah file itu ada atauQ`f`.IO.x
untuk memeriksa apakah file tersebut dapat dieksekusi. Tetapi kita tidak bisa membacanya atau menulis darinya.Kita dapat menggunakan
Q:x` `
untuk menjalankan perintah shell (dengan asumsi kita menemukan karakter untuk satu). Tapi kita tidak bisa memasukkan apa pun ke dalam, jadi itu hanya baik untuk membaca, tidak menulis.Karena tidak ada tanda kurung penutup, kami tidak dapat membuat blok lambda (mis.
{1 + $_}
) Yang secara otomatis mengembalikan nilai pernyataan terakhirnya.Kita dapat menggunakan tanda bintang untuk membuat ekspresi lambda (mis.
1+*
), Tetapi kemudian kita hanya dapat mengambil satu argumen, merujuk argumen ini hanya sekali, dan bahkan lebih terbatas dalam sintaks / operator yang dapat kita gunakan.sumber
Lua, skor 31
1. Run (31 dari 74 poin)
sumber
variable =stuff
lebih panjang 1 byte.Jelly , skor 74
1. Jalankan , 74
Tidak yakin bagaimana melakukan yang lain.
sumber
/// , Nilai: 146
1. Jalankan, Skor: 74
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
6. Quine, Nilai: 72
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ^`````````eefmpxy{||||~~~~~~~~~
Yay, ketika tidak ada garis miring ke depan atau belakang dalam kode, itu hanya mencetak sendiri.
sumber