Terinspirasi oleh manual lama ...
Tantangan
Saya mendefinisikan sebuah th akhiran vektor b sebagai daftar boolean panjang a dengan b mengikuti nilai-nilai truthy.
Menulis sebuah program atau fungsi yang, diberikan sebuah dan b dengan cara apapun, mengembalikan sebuah th akhiran vektor b dengan cara apapun.
Sekarang ini mungkin tampak sepele, tetapi di sini adalah menangkap: Skor Anda adalah jumlah byte ditambah tahun paling awal solusi Anda akan berhasil.
Aturan
Semua aturan standar berlaku, kecuali bahwa bahasa dan versi bahasa yang dirilis setelah tantangan ini, juga dapat digunakan.
Keluaran dengan menggunakan representasi nilai boolean apa pun yang digunakan bahasa Anda, misalnya 1
/ 0
, True
/ False
, TRUE
/ FALSE
, "True"
/ "False"
, dll.
Output menggunakan apapun representasi dari daftar yang Anda menggunakan bahasa, misalnya 0 0 1
, [False,False,True]
, (FALSE;FALSE;TRUE)
, {"False","False","True"}
, dll
Anda mungkin menganggap bahwa sebuah ≥ b selalu benar dan bahwa mereka adalah dari jenis data yang sesuai.
Uji kasus
Diberikan a = 7 dan b = 3, kembali0 0 0 0 1 1 1
Diberikan a = 4 dan b = 4, kembali[True,True,True,True]
Diberikan a = 2 dan b = 0, kembali(FALSE;FALSE)
Diberikan a = 0 dan b = 0, kembali{}
Contoh solusi dan penilaian
Saya mungkin ingin mengirimkan solusi {⌽⍺↑⍵⍴1}
menggunakan Dyalog APL. Itu akan menjadi bytecount dari 8. Ini adalah fungsi dinamis, yang bekerja dari versi 8.1 dari Dyalog APL, dirilis pada tahun 1998, jadi skor total saya adalah 2006. Jawaban yang saya kirimkan akan terlihat seperti:
# Dyalog APL 8.1, 1998 + 8 = 2006
{⌽⍺↑⍵⍴1}
Optional explanation...
Recommended: Link to documentation showing when the features you used were released.
Menang skor terendah!
sumber
Jawaban:
APL \ 360, 1968 + 3 byte = 1971
Dibangun dari tutorial @NBZ yang ditautkan. Saya tidak tahu mengapa @NBZ mengatakan akan mencetak skor 1970, karena APL \ 360 tidak diimplementasikan sampai tahun 1968, dan APL sebelumnya seperti APL \ 1130 tidak memiliki fungsi vektor akhiran (lihat halaman 208 di sini ).
sumber
Keempat, 1970 + 38 = 2008
penggunaan:
7 3 s
cetakan "0 0 0 0 -1 -1 -1"sumber
sv
dan bukans
, atau yang lainnya satu byte?APL, 1968 + 5 = 1973
Ke 5 karakter:
Versi yang lebih lama:
Yah, Anda sebenarnya sudah memberikan jawabannya, saya baru saja menghapus definisi fungsi dinamis dan memeriksa bahwa ini berfungsi pada tahun 1968. Untuk referensi di sini adalah manual:
http://www.softwarepreservation.org/projects/apl/Books/APL360ReferenceManual
sumber
SAS, 1966 + 45 = 2011
Saatnya SAS bersinar!
SAS tidak pertama kali diterbitkan sampai tahun 1972, tetapi langkah data ini hanya menggunakan fitur yang sangat mendasar yang saya yakin akan tersedia bahkan dalam versi pra-rilis paling awal dari tahun 1966 dan seterusnya, jadi saya percaya itu akan berhasil saat itu. Input masuk setelah
a=
danb=
, dan output dicetak ke log.Saya akan kagum jika ada yang masih memiliki IBM System / 360 dengan versi SAS yang tepat untuk benar-benar memverifikasi ini!
sumber
Mouse-1979 , 1979 + 19 = 1998
Terjemahan dari: Keempat .
Spek ini benar-benar samar bagi saya, tetapi saya pikir ini melakukan hal yang benar.
sumber
&Tuck
itu tersedia sampai versi 2002. Dan loop tampaknya tak terbatas.TI-Basic, 1990 + 21 = 2011
Kalkulator TI pertama yang digunakan program ini adalah TI-81, yang diperkenalkan pada tahun 1990.
Edit: perhatikan bahwa saya harus mendukung daftar kosong ... peningkatan kode sebanyak 4 byte
Uji Kasus
sumber
Ans
metode keluaran yang dapat diterima, kecuali jika itu dicetak.Prompt
danseq(
satu token byte dan karakter lainnya masing-masing satu byte.Ans
adalah cara default untuk mengembalikan nilai dalam seri TI-83 Basic. Selain itu, ketika program dijalankan, baris terakhir dicetak secara otomatis. Jadi, Anda memiliki yang terbaik dari kedua dunia.Mathematica 1.0, 1988 + 22 bytes = 2010
Saya tidak yakin apakah ini berhasil, hanya membaca dokumentasi pada 10.3 dan mencari hal-hal yang mengatakan Diperkenalkan pada tahun 1988 (1.0)
sumber
/.
dan->
,Array
68k TI-Basic, 1995 + 25 = 2020
Kalkulator TI pertama yang digunakan program ini adalah TI-92, yang diperkenalkan pada 1995.
Berbeda dengan seri TI-83, 68k TI-Basic mendukung daftar kosong.
sumber
Prompt
tidak valid dalam fungsi, dan program tidak dapat mengembalikan nilai. Jadi ini harus dimasukkan di layar beranda. Di sisi lain,define f(a,b)=seq(x>a-b,x,1,a)
tidak mendefinisikan fungsi yang valid yang dapat diberikan a dan b sebagai argumen. (Diverifikasi pada TI-92 saya dari 1995-09-13)define
dan memanggilf(2,1)
atau mirip dengan tokenize, ukuran yang dilaporkan oleh OS adalah 25 byte.Python 1.0, 1994 + 26 = 2020
Disimpan 2 byte berkat DSM.
Lambda diperkenalkan dengan rilis utama pertama, 1.0
sumber
MATL , 2015 + 1 + 4 = 2020
Ini berfungsi sejak rilis 6.0.0 bahasa (menggunakan input implisit, yang diperkenalkan dalam rilis itu), tanggal 31 Desember 2015.
Saya telah menambahkan
1
skor sesuai dengan komentar @drolex di berbagai tempat yang mungkin berbeda.Cobalah online!
Penjelasan
sumber
J, 1990 + 8 = 1998
Argh. Sedang meneliti jawaban ini dan seseorang pergi ke APL sebelum saya bisa berharap untuk memahami bahasa. Inilah solusi J saya sebagai gantinya.
sumber
Prolog, 1972 + 57 = 2029
Penggunaan:
a(7,3,L).
akan disatukanL
dengan[0,0,0,0,1,1,1]
.Saya benar-benar tidak yakin kapan
is
diterapkan dalam bahasa tersebut, dan saya ragu Anda benar-benar dapat menemukan tanggal yang tepat. Ini adalah built-in yang cukup mendasar, jadi saya berasumsi itu sudah ada ketika bahasa pertama kali muncul pada tahun 1972 .Tapi itu tidak terlalu penting, aku jauh dari menang dengan jawaban ini.
sumber
SMP , 1983 + 28 byte = 2011
Saya pikir saya sudah benar ...
S
: 2.10, halaman 48Ar
: 7.1, halaman 102Map
: 7.2, halaman 106$1
: 7.1, halaman 104Dan jika Anda terbiasa dengan Mathematica, tidak,
Ar
tidak berfungsi seperti itu . Lebih miripRange
+Select
.sumber
(#>x&/.x->#)/@Range[#+#2]&
dalam Mathematica(#>x&/.x->#-#2)/@Range[#]&
Vim, 1991 + 21 = 2012
Input terlihat seperti ini:
Dan output terlihat seperti ini:
Penjelasan:
sumber
B , 1971 + 54 = 2025
Lihat " Referensi Pengguna untuk B " untuk manual untuk prekursor C tanpa tipe ini.
sumber
Pyth, 2015 +
94 =20242019Terima kasih kepada @FryAmTheEggman atas bantuannya!
Coba di sini!
Penjelasan
sumber
> <> , 2009 + 14 + 3 untuk -v = 2026
b
dana
harus diberikan langsung pada tumpukan dengan-v
, dalam urutan terbalik.Outputnya tidak dipisahkan dengan ruang seperti pada contoh, tapi sepertinya tidak bertentangan dengan aturan yang dinyatakan. Ini menggunakan 0 dan 1 untuk mewakili false dan true, seperti yang digunakan oleh bahasa.
Sejak itu tidak berfungsi dengan versi saat ini
?
sekarang muncul nilai tesnya dari tumpukan.Saya tidak yakin setiap fitur diimplementasikan mulai hari pertama,
-v
misalnya bisa diberikan nanti sebagai komoditas. Saya akan mencoba memastikan jawaban saya benar akhir pekan ini.sumber
05AB1E , 2016 + 9 = 2025
Ini pasti bisa di-golf lebih lanjut, tapi ini awal: p. Kode:
Cobalah online! Input diberikan sebagai b, a .
Juga 9 byte:
0×1I×0ñRS
.sumber
°
ada kembali pada 2016 btw?)PowerShell v1, 2006 + 28 = 2034
Menggunakan operator koma untuk membuat array, yang sudah ada di PowerShell sejak awal.
sumber
Mathcad, 1998 + 42 = 2040
"byte" diartikan sebagai jumlah karakter keyboard yang berbeda (misalnya, operator 'untuk' (termasuk satu baris pemrograman) adalah karakter tunggal ctl-shft- #, atau klik pada bilah alat Pemrograman)).
Hitungan byte di atas mengasumsikan bahwa definisi a dan b tidak diperhitungkan terhadap total; tambahkan 4 byte untuk definisi jika asumsi ini tidak valid.
Versi fungsi yang ditunjukkan di bawah ini menambah 5 byte untuk definisi dan 3 byte lebih lanjut untuk setiap penggunaan (dengan asumsi nilai a dan b langsung diketikkan).
Karena solusi Mathcad saya jelas harus memainkan tee merah dan bukan yang kompetisi, saya telah menambahkan tabel solusi. Perhatikan bahwa karena Mathcad tidak memiliki larik kosong, saya menggunakan string kosong ("") sebagai gantinya; Saya telah menggunakan 0 untuk menunjukkan di mana saya belum menghitung b> a pair.
sumber
PHP, 1995 + 56 byte = 2051
Tampilan meledaksumber
Javascript ES6, 2015 + 46 = 2061
Mengembalikan array 0 dan 1
Javascript ES6, 2015 + 50 = 2065
Mengembalikan string
0
dan1
karakterJavascript, 1995 + 61 = 2056
Mengembalikan string
0
dan1
karaktersumber
k ( kona ), 1993 + 15 = 2008
Membuat daftar b Nilai benar, dan menggabungkannya ke daftar (ab) Nilai salah.
sumber
R , 20 byte + 1993 = 2013
Cobalah online!
Mungkin ini bekerja di S, yang akan menurunkan skor menjadi 2008, tapi saya belum bisa memverifikasinya.
sumber
SmileBASIC 3, 2014 + 25 = 2039
Versi SmileBASIC 3 yang tersedia untuk umum diluncurkan di Jepang dengan aplikasi SmileBASIC untuk Nintendo 3DS pada November 2014.
Mencetak string yang 0 salah dan 1 benar (seperti dalam bahasa itu sendiri.)
sumber