(Terinspirasi oleh 95 Karakter ASCII ... 95 Kutipan Film )
Tantangan
Input yang diberikan n
, menampilkan angka nth
Fibonacci . Anda dapat menggunakan salah satu 0
atau 1
pengindeksan, sebutkan yang mana dalam kiriman Anda. Sederhana ya Tangkapannya adalah Anda harus mengambil rangkaian karakter dari jawaban sebelumnya langsung, menghapus dua karakter dari itu, dan menambahkan karakter yang terpisah. Karakter yang terpisah harus
- tidak berasal dari rangkaian karakter jawaban sebelumnya
- berasal dari himpunan (ASCII yang dapat dicetak, spasi, baris baru, tab horizontal)
dan dengan demikian ukuran set karakter total Anda akan persis satu lebih kecil dari set jawaban sebelumnya langsung.
Jawaban awal
Kiriman pertama harus berisi subset (semua ASCII yang dapat dicetak, spasi, baris baru, dan tab horizontal) dengan dua karakter dihapus. Setiap pengiriman setelahnya harus membatasi jawaban mereka ke format ASCII-only asli ini (artinya Anda tidak dapat menambahkan karakter Unicode atau extended-ASCII ... sorry Jelly, APL, et al.).
Contoh dan Klarifikasi
- Misalkan jawaban pertama ada di C dan berisi (hampir semua ASCII yang dapat dicetak, baris baru, dan tab horizontal), dan menghilangkan
%
dan^
dari rangkaian karakternya. Pengiriman kedua, kemudian, harus menghapus dua karakter dari set karakter sebelumnya (hampir semua yang dapat dicetak ASCII, baris baru, dan horizontal) dan menambahkan salah satu%
atau^
. Mungkin itu adalah jawaban PowerShell satu-baris yang menghilangkan baris baru. Dan seterusnya. - Jika jawaban sebelumnya memiliki
print(){}!*+
kumpulan karakter (12 karakter), kiriman Anda dapat memilikiprint(){}!
(10 karakter) dan satu karakter tambahan,print(){!+
(10 karakter) dan satu karakter tambahan, dll. - Jika jawaban sebelumnya memiliki
print(){}!*+
set karakternya (12 karakter), kiriman Anda tidak dapat memilikiprint()
dan&
(8 karakter) sebagai set karakternya, karena12 - 8 > 1
. - Jika jawaban sebelumnya
print(){}!*+
adalah set karakternya (12 karakter), kiriman Anda tidak boleh memilikiprint(){}!
(10 karakter) ditambah karakter tambahan*
sebagai set karakternya, karena meskipun itu 11 karakter,*
sudah termasuk dalam set sebelumnya. - Tidak setiap karakter dalam rangkaian karakter Anda harus melakukan sesuatu yang berguna untuk pengiriman Anda. Misalnya, jika jawaban sebelumnya
print(){}!*+
sesuai dengan karakternya, dan bahasa Anda memiliki built-in!
yang menghitung urutan Fibonacci dan#
yang memulai komentar, kiriman Anda bisa!#print(){}
dan masih valid. - Anda dapat menggunakan karakter yang sama dari rangkaian karakter Anda beberapa kali. Misalnya, anggap set karakter Anda adalah
!*#_
, jawaban Anda bisa!!!**#**#_!!
dan akan diterima. - Selain kode Anda (dan penjelasannya juga bagus!), Harap cantumkan juga set karakter Anda, untuk memudahkan pengiriman berikutnya.
Kemenangan
Pemenang tantangan akan menjadi orang yang memposting kiriman terbaru kedua (yaitu, bukan orang yang memposting terakhir, karena mereka melanggar rantai).
Aturan Terakhir
Aturan chaining jawab biasa berlaku:
- Orang yang sama tidak dapat memposting dua kali berturut-turut
- Jika suatu jawaban dianggap tidak valid (misalnya, ia menggunakan karakter terlarang, atau tidak menghitung dengan benar), maka itu perlu dihapus (dan jawaban selanjutnya yang menghubungkannya juga)
- Dua pengguna yang memposting "pada saat yang sama" harus membiarkan kiriman sebelumnya berdiri
- Bahasa yang sama tidak dapat diposting dua kali berturut-turut. Untuk keperluan aturan ini, bahasa dari keluarga yang sama (misalnya, Python 2 dan Python 3) dihitung sebagai "bahasa yang sama."
Hal terakhir:
- Posting ini berfungsi paling baik jika Anda mengurutkan berdasarkan "Terlama" sehingga jawabannya dalam urutan yang tepat.
- Kyle Gullion membuat pemeriksa kode dengan Python di sini untuk memverifikasi apakah Anda hilang atau menggunakan karakter yang salah.
Jawaban:
1. C
Tidak mengandung
{
atau}
.Cobalah online!
Saya harap saya melakukan ini dengan benar.
sumber
{
atau lebih}
sehingga Anda dapat menambahkan yang lain.{
atau}
, maka Anda dapat menambahkan yang lain dan jawaban Brain-Flak.*
. Apakah kita boleh menghilangkan karakter dari rangkaian karakter kita dan membiarkannya "dimasukkan", atau apakah itu kekhilafan?2?1*1
akan memperbaikinya.2. Mathematica
Tidak mengandung
}
,Z
atau tab horizontal. (Disertakan kembali{
.)Dua baris pertama hanyalah sebuah komentar; baris terakhir adalah fungsi builtin, menggunakan Hanya Benar Super Pengindeksan Ditentukan Secara Kosmik di mana input 0 dan 1 menghasilkan output masing-masing 0 dan 1 (saya tidak tahu apakah akan memanggil 0-diindeks atau 1-diindeks).
sumber
8. Oktaf
Ditambahkan
U
dan dihapus+
dan-
. Solusi tidak mengandung+-`01AEI
atau karakter tab.Berdasarkan pada Fibonacci Matrix .
sumber
t
...\t
adalah cara karakter tab dicetak dengan Python (yang saya gunakan untuk memeriksa jawaban saya), saya akan mengedit untuk membuatnya sedikit lebih jelas.33, MATL
Ditambahkan
-
, dihapus()
. Solusi tidak mengandung!&'()/\01?AEIKLMNPSTWZ`dmwz{}|~
, tab, spasi, atau baris baru.Cobalah di MATL Online
Memperbaiki kesalahan:
0
,,1
dan\
tidak sengaja ditinggalkan di komentar (setelah%
) di akhir. Penghapusan mereka tidak merusak fungsi. Memindahkan jawaban ini dari 32 menjadi 33 dalam upaya untuk membuatnya tetap valid. Jika perlu dihapus, beri tahu saya dan saya akan melakukan itu.sumber
36. Jawa
Ditambahkan
\
. Dihapusqx
. Tidak menggunakan!&'()/1?AEIKLMNPSTWZ`dmnqtwxz{}|~[]
, tab, atau spasi.Saya tahu saya mungkin bisa menunggu lebih lama tapi saya ingin memastikan untuk mengeluarkan ini sebelum terlambat. Kelas ini tidak hanya mendefinisikan fungsi yang mengambil bilangan bulat
n
dan mengembalikan angka Fibonacci, tetapi juga mencetak 20 yang pertama untuk Anda hanya untuk bersenang-senang. Saya mencoba melakukan uji tuntas saya dengan menulis ini di java tua polos tanpa golf licik dan kemudian saya menghapus karakter ilegal 1 per 1 sampai kita sampai pada makhluk yang Anda lihat sebelum Anda sekarang.Cobalah online!
sumber
0
37. Python 2
Readded
x
. Tidak menggunakan!&'()/1?AEIMNPSTWZdmnqtwz{}|~[]
, spasi, tab atau `. K dan L. dihapusDengan komentar:
Pendekatan ini menggunakan istilah umum seri fibonacci.
sumber
3. Brain-Flak
Tidak mengandung
Z
,~
,A
, atau tab horizontal. (Termasuk Kembali}
)Cobalah online!
sumber
5, Haskell
Dihapus
AEIOU
dan tab, ditambahkanZ
Cobalah online!
sumber
12. Python 3
ditambahkan yang
:
dihapus{;
tidak mengandung{};`01AEIPQx
atau karakter tab.sumber
{;
, bukan};
.6. Brain-Flak
Cobalah online! Tidak digunakan
tabAEIU`_
, dan ditambahkan kembaliO
sumber
26. Prolog (SWI)
Ditambahkan
%
. DihapusNK
. Tidak menggunakan&*01AEIKLMNPSTWZ`dmrwz{}]
, tab, atau baris baru.Cobalah online!
sumber
34. brainfuck
Menambahkan baris baru, dihapus
n
dant
. Tidak menggunakan!&'()/\01?AEIKLMNPSTWZ`dmntwz{}|~
, tab, atau spasi. (mungkin kita bisa mendapatkan beberapa bahasa 2D sekarang)Diindeks 0. Input / output adalah dengan nilai byte.
Cobalah online!
sumber
4, Python 2
Dihapus
AEIZ
, tab ditambahkan~
Cobalah online!
sumber
11. ML Standar (mosml)
Ditambahkan
+
. Dihapus:}
. Tidak mengandung:}0`1AEIPQx
atau karakter tab.SML tidak menggunakan TIO, dan saya menggunakan variasi moscow ml, tetapi ada penerjemah SMLNJ online di sini .
sumber
10. C
Ditambahkan
m
, dihapusPQ
. Tidak mengandung+`01AEIPQx
atau karakter tab.Bendera kompiler:
-lm
Cobalah online!
sumber
.
masih hilang dalam komentar Anda.9. Python 2
Ditambahkan
-
, dihapusm
danx
. Tidak mengandung+`01AEImx
atau karakter tab.Fungsi Python rekursif! Menambahkan semua angka Fibonacci mundur hingga
n
1.sumber
1
dan keluar345678BCDFGHJKLMNOPQRSTUVWXYZ
18. Oktaf
Ditambahkan
;
dan dihapusf
dan ruang. Solusi mengandung no{}:`*%01AEIPQfrd
, no tab, no newline, dan no space space.Identik dengan jawaban 8 , hanya dengan lebih banyak benci SML: P
sumber
23. ML Standar (mosml)
Kita mulai lagi. Ditambahkan
Q
, dihapus}
dan]
. Tidak menggunakan%&*+01:AEILMPZ`dmrzM{}]
, tab, atau linefeedsumber
Q
.25. CJam
Ditambahkan
+
kembali, dihapusS
danT
. Tidak menggunakan%&*01AEILMPSTZ`dmrz{}]Ww
, tab, atau linefeed.Pada dasarnya port jawaban saya yang lebih tua, tetapi yang ini menggunakan beberapa tipuan eval untuk menghindari kekurangan kawat gigi.
Diindeks 0.
Cobalah online!
sumber
27. JavaScript
Ditambahkan
*
, dihapus"
dan'
. Tidak menggunakan"&'01AEIKLMNPSTZ`dmrz{}]Ww
, tab, atau linefeed.sumber
28. Haskell
Cobalah online! Penggunaan:
g 3
memberi2
.Ditambahkan
"
, dihapus<space>
dan-
. Tidak menggunakan&'-01AEIKLMNPSTZ`dmrz{}]Ww
atau spcae putih.sumber
30. ML Standar
Ditambahkan
:
, dihapus+
dan?
. Tidak mengandung!&'+-01?AEIKLMNPSTWZ`dmrwz{}
atau ruang putih.Bagian pertama
fun$(a,b,x)n=if(length(x)=n)then(length(a))else$(b,a@b,()::x)n
mendefinisikan fungsi$
yang menghitung angkan
fibonacci secara iteratif menggunakan pengkodean daftar unary. Panjang argumenx
menunjukkan jumlah saat ini dana
danb
merupakan daftar panjangfib(length(x)-1)
danfib(length(x))
. Jikan
sama denganlength(x)
kita kembalilength(b)
, jika tidak menambahkana
danb
melalui daftar gabungan dan penambahan secara rekursifx
dengan menambahkan elemen()
ke dalamnya.Bagian kedua
("#%*./23456789<>BCDFGHJOQRUVXY\\^_cjkopqvy|~";$([],[()],[]))
adalah urutan di mana string dibuang dan$([],[()],[])
merupakan inisialisasi fungsi$
dengana = 0
,b = 1
danx = 0
, menghasilkan fungsi anonim yang menghitung angka ke-8.sumber
32, Python 3
Ditambahkan
r
dan dihapus|~
. Solusi mengandung no!&'/\-01?AEIKLMNPSTWZ`dmrwz{}|~
, no tab, no newline, dan no space space.sumber
39. Python 2
Ditambahkan
0
. Dihapus@^
. Tidak menggunakan!^&'()/1?@AEIMNPSTWZdmntwz{}|~[] `
, tab, atau baris baru.Argumen untuk exec tanpa urutan melarikan diri:
Cobalah online!
sumber
38. Matl
Ditambahkan
q
. Dihapus0 <newline>
. Tidak menggunakan!&'()/1?AEIKLM0NPSTW{Z`dmntwxz}|~[]
, tab, baris baru, atau spasi.Cobalah online
sumber
q
x
, Anda tidak menghapusnya, namun dibatasi. Bisakah Anda menambahkan x di akhir komentar? Daftar terbatas juga mengatakan Anda tidak menggunakanq
, jadi Anda harus menghapusnya.7, Python 2
Dimasukkan kembali
_
. Karakter yang dihapus: tab danAEIU`
, dan (hanya untuk mendapatkan sedikit jahat)0
dan1
. Kalau tidak, hanya salinan jawaban Wheat Wizard (maka dari itu wiki komunitas).Cobalah online!
sumber
13. ML standar (mosml)
Ditambahkan
x
. Dihapus:r
. Tidak mengandung:;{}0`1AEIPQr
atau karakter tab.Setelah kita cukup banyak mengeluarkan bahasa gaya-C, mari kita cari Python. Jawaban ini cukup identik dengan jawaban 11.
sumber
14. Oktaf
Menambahkan
r
dan menghapus baris baru dan spasi. Solusi mengandung no{}:;`01AEIPQ
, no tab, no newline, dan no space space.Berdasarkan formula formulir tertutup (7) .
sumber
16. Oktaf
Ditambahkan
/
dan dihapus * dan spasi. Solusi mengandung no{}:;`*%01AEIPQ
, no tab, no newline, dan no space space.Identik dengan jawaban 14 , hanya serangan langsung ke SML dan Python: P
sumber
15. ML Standar (mosml)
Menambahkan ruang dan menghapus
%/
. Tidak mengandung{}:;`01AEIPQ
, tab, atau baris baru.sumber