Lebih lanjut Codington Crescent
Siapa siap untuk percobaan kedua?
Jika Anda pernah mendengarkan program radio "Maaf, saya tidak tahu", maka Anda mungkin pernah mendengar tentang permainan yang berjudul "Mornington Crescent". Bagi mereka yang belum, ini adalah permainan di mana pemain memberi nama stasiun acak di jaringan London Underground. Orang pertama yang memberi nama "Mornington Crescent" memenangkan permainan. 1
Sama seperti terakhir kali , saya mempersembahkan untuk Anda permainan Codington Crescent yang lain .
Tantangan
Pemenang tantangan ini adalah orang pertama yang memposting program kerja yang, diberi daftar bilangan bulat positif berukuran variabel, mengembalikan rata-rata (rata-rata aritmatika) dari daftar tersebut. Daftar tidak akan kosong dan akan selalu memiliki setidaknya satu item. Input dan output dapat diberikan dalam format apa pun yang masuk akal dan nyaman
Kasus Uji
[150, 541, 168, 225, 65, 191, 964, 283, 825, 5, 802, 426, 45, 326, 22, 619, 281] => 349.29411764705884
[874, 33, 423, 36, 1000, 255, 345, 902, 700, 141, 916, 959, 222, 246, 96] => 476.53333333333336
[567, 868, 680, 121, 574, 391, 233, 39, 764, 499, 455, 684, 742, 117, 376] => 474.0
[177, 372, 778, 709, 474, 796, 840, 742] => 611.0
[181, 751, 940, 782, 727, 756, 541, 762, 677, 751, 719] => 689.7272727272727
[47, 804, 782, 231, 170] => 406.8
[315, 972] => 643.5
[679, 727] => 703.0
[859, 229, 363, 468, 103, 104, 570, 772, 83, 693, 898, 672, 306, 733, 189, 717, 231] => 470.0
[228, 839] => 533.5
[395, 622, 760, 820, 70, 814, 797, 202, 277, 663, 93, 218, 564, 735] => 502.14285714285717
[724, 631, 932, 333, 605, 880, 670, 468, 703, 744, 680, 28] => 616.5
[950, 733, 305, 178, 995] => 632.2
[762, 506, 553, 284, 499, 694, 665, 998, 576, 504, 123, 658, 943, 385, 354, 732] => 577.25
[151, 919, 514, 721, 426, 333, 808, 514] => 548.25
[995] => 995.0
[891, 243, 42, 968, 458, 372, 301, 269, 559, 394, 980, 372, 804, 429, 738] => 521.3333333333334
[147, 473, 632] => 417.3333333333333
[105, 483, 225, 541, 684, 456, 328] => 403.14285714285717
[311, 1, 770, 417, 910, 185, 375, 631, 226, 266, 609] => 427.3636363636364
Aturan
- Setiap pemain memiliki programnya sendiri yang akan mereka tambahkan / ubah karakternya. Ini disebut program berjalan mereka .
Setiap jawaban ( giliran ) harus mematuhi batasan sumber yang ditentukan oleh jawaban sebelumnya. Ini disebut aturan . Setiap varian berlangsung selama 5 putaran . Aturan dalam bentuk batasan sumber terbatas.
Program yang sedang berjalan dapat mengubah bahasa di antara belokan.
Penjawab (pemain) dapat menambah, mengubah, atau menghapus (tetapi hanya satu dari opsi) sebanyak mungkin karakter dari program mereka yang sedang berjalan per giliran. Alternatifnya, mereka dapat memilih untuk "lulus" ( lebih ilmiah , farkle ), tidak menambahkan aturan baru, dan masih menghitung sebagai giliran. Ini mungkin satu-satunya pilihan jika aturan bertentangan satu sama lain. Hitungan belokan masih bertambah dan harus diposting. Tips pro: Anda mungkin ingin menandainya sebagai wiki komunitas karena tidak menambahkan banyak.
Di akhir setiap giliran, pemain mengumumkan aturan baru yang akan mencakup 5 giliran berikutnya. Aturan harus objektif, dan program verifikasi TIO sangat disarankan. Selain itu, aturan harus dapat diterapkan ke setiap bahasa (misalnya,
Programs must not error using Python 3.4.2bukan aturan yang valid).Putar terus hingga program yang berjalan mencapai hasil yang ditargetkan.
Jika giliran belum diambil selama seminggu, maka implisit Farkle akan terjadi. Anda selalu dapat mengambil giliran setelah pelanggaran implisit, karena itu dihitung sebagai giliran (anggap saja sebagai giliran pengguna Komunitas).
Aturan Mulai
Untuk memulai permainan, 5 putaran pertama harus mengikuti aturan berikut:
- Belokan mungkin tidak mencapai tujuan akhir
- Panjang program minimum adalah 10 byte
Aturan Permanen
Terakhir kali, tercatat bahwa aturan berikut lebih cocok sebagai aturan permanen daripada aturan 5 putaran:
Program yang sedang berjalan harus tidak dapat direduksi. Irreducible dalam hal ini berarti program tidak menghasilkan output dari keseluruhan program jika karakter dari keseluruhan program dihapus. Yaitu. Tidak ada program yang memiliki keluaran sama default yang dapat dibuat dengan menghapus karakter dari program asli.)
Sebuah program tidak bisa menang dalam 5 putaran sejak penampilan pertamanya
Contoh Aturan
Ini hanyalah contoh murni dari apa yang dapat Anda tambahkan sebagai aturan untuk tantangan. Mereka tidak berlaku kecuali seseorang memutuskan untuk menggunakannya.
- Karakter pertama dan terakhir dari program yang sedang berjalan harus berupa spasi
- Program yang sedang berjalan harus memiliki jumlah byte yang genap
- Program yang sedang berjalan tidak boleh lebih dari 30 byte
Aturan Rangkaian Jawaban Ekstra
- Anda tidak bisa menjawab dua kali berturut-turut. Orang lain perlu menjawab sebelum Anda mencoba lagi.
- Bahasa harus di Try It Online untuk menjadi jawaban yang valid.
Tips profesional: urutkan menurut terlama untuk aliran jawaban yang lebih kohesif
1 Game asli Mornington Crescent sebenarnya tidak memiliki aturan ... Ini lebih merupakan aktivitas yang terlihat seperti game yang rumit.
Template Jawaban
# [Language], turn number [your turn]
<code>
[Try it online link]
[prev answer link]
## Rules
- Rule (n turns left)
- Rule (n turns left)
- Rule (n turns left)
Jawaban
05AB1E , putar 3
$XY~sDOsg/*+
(Bagaimana cara saya menautkan ke jawaban sebelumnya?)
Wah, apakah saya suka Code Golf!
Penjelasan
$ # Push 1 and input
X # Push 1
Y # Push 2
~ # Converts 1 and 2 to 3
s # Swap to get implicit input
D # Duplicate
O # Sum the list
s # Swap top 2 values and gets the preserved list.
g # Push the length of the list.
/ # Push the quotient of sum and length
* # Multiply with 3
+ # Add with one
Aturan saat ini
- Belokan mungkin tidak mencapai tujuan akhir - Mencetak tiga kali lipat rata-rata ditambah satu ( 2 belokan kiri! )
- Panjang program minimum adalah 10 byte (3 belokan kiri) - Panjang program adalah 12 byte ( 2 belok kiri! )
- Program harus berisi karakter ~ - Karakter seharusnya mendorong bitwise ATAU dari 1 dan 2 ( 3 belok kiri! )
- Program harus memiliki nilai byte rata-rata kurang dari atau sama dengan 80 - Nilai byte rata-rata program adalah 79,25 (4 belokan kiri!)
Aturan baru
Drumroll
Program harus menyertakan 5-10 karakter non-alfanumerik (5 belok kiri!)
Io , 20 byte
Mengembalikan rata-rata + 1.
method(~,~average+1)
Aturan
5 putaran pertama harus mengikuti aturan berikut:
- Belokan mungkin tidak mencapai tujuan akhir
- Panjang program minimum adalah 10 byte
ini berlaku untuk semua program yang sedang berjalan:
Program yang sedang berjalan harus tidak dapat direduksi. Irreducible dalam hal ini berarti program tidak menghasilkan output dari keseluruhan program jika karakter dari keseluruhan program dihapus. Yaitu. Tidak ada program yang memiliki keluaran sama default yang dapat dibuat dengan menghapus karakter dari program asli.)
Sebuah program tidak bisa menang dalam 5 putaran sejak penampilan pertamanya
Aturan baru:
- Program harus mengandung
~karakter tersebut
Python 3 , 23 byte, putar 2
lambda l:sum(l)/~len(l)
Masukan sebagai daftar pelampung; keluaran sebagai pelampung.
Aturan
Aturan permanen:
Program yang sedang berjalan harus tidak dapat direduksi. Irreducible dalam hal ini berarti program tidak menghasilkan output dari keseluruhan program jika karakter dari keseluruhan program dihapus. Yaitu. Tidak ada program yang memiliki keluaran sama default yang dapat dibuat dengan menghapus karakter dari program asli.)
Sebuah program tidak bisa menang dalam 5 putaran sejak penampilan pertamanya
Aturan saat ini:
- Belokan mungkin tidak mencapai tujuan akhir (3 belokan kiri)
- Panjang program minimum adalah 10 byte (3 belokan kiri)
- Program harus berisi
~karakter (4 belok kiri)
Aturan baru saya:
- Program harus memiliki nilai byte rata-rata kurang dari atau sama dengan 80. ( verifier )
Befunge-98 (PyFunge) , 13 byte, putar 5
(giliran 4 adalah farkle implisit)
"PDPF"4(~FP@
Jawaban ini jauh dari kemenangan, tetapi saya menyertakan beberapa karakter yang mungkin dibutuhkan oleh program biasa dalam bahasa ini, dan menjaga tantangan tetap hidup.
Aturan:
- Program mungkin tidak mencapai tujuan akhir (giliran terakhir)
- Panjang program minimum adalah 10 byte (giliran terakhir)
- Program harus berisi karakter ~ (1 belok kiri)
- Program harus memiliki nilai byte rata-rata kurang dari atau sama dengan 80. (2 belokan kiri)
- Program harus menyertakan 5-10 karakter non-alfanumerik (3 belok kiri!)
- Program tidak boleh berisi 2 huruf kecil berturut-turut (5 belokan kiri)