Bos Anda baru saja mengirimi Anda daftar 12 tugas pemrograman yang perlu ia selesaikan secepat mungkin. Tugasnya cukup sederhana tetapi bos Anda, menjadi taipan perangkat lunak muda yang disusui oleh jejaring sosial, menegaskan bahwa solusi Anda dapat masuk dalam satu tweet Twitter .
Ini berarti bahwa Anda hanya memiliki kode senilai 140 byte untuk menyelesaikan semua tugas, rata-rata 11,67 byte per tugas. (Ya, Twitter menghitung karakter tetapi bos Anda secara khusus mengatakan byte.)
Anda menyadari bahwa tidak ada cara untuk menyelesaikan semua 12 tugas dalam 140 byte tetapi Anda curiga bos Anda tidak akan benar-benar menguji semua solusi Anda. Jadi Anda melanjutkan untuk menyelesaikan tugas sebanyak yang Anda bisa, benar-benar melewatkan beberapa dari mereka. Pola pikir Anda adalah bahwa tidak peduli yang bagian dari tugas Anda menyelesaikan, hanya hal-hal yang subset adalah sebagai besar mungkin .
Berapa banyak tugas yang dapat Anda selesaikan?
Tantangan
Tulis hingga 12 program yang berbeda, yang masing-masing secara akurat menyelesaikan salah satu dari 12 tugas yang tercantum di bawah ini. Jumlah kumulatif dari panjang program-program ini mungkin tidak melebihi 140 byte
Atau, Anda dapat menulis sebuah program tunggal yang panjangnya tidak lebih dari 140 byte yang membutuhkan integer dari 1 hingga 12 dan (idealnya) menghasilkan untuk menyelesaikan tugas yang sesuai, mengambil lebih banyak input seperlunya. Tidak semua tugas perlu dikerjakan, tetapi hanya tugas-tugas yang diperhitungkan dalam skor Anda. Tugas yang tidak berfungsi diizinkan untuk melakukan kesalahan atau melakukan hal lain.
Dalam kedua kasus, "program" mungkin sebenarnya adalah fungsi yang mengambil input sebagai argumen atau meminta untuk itu dan mencetak atau mengembalikan output. Jadi, misalnya, Anda dapat menulis fungsi 140 byte yang terlihat seperti f(taskNumber, taskInput)
, atau Anda dapat menulis potongan kode terpisah untuk setiap tugas, beberapa sebagai fungsi dan beberapa sebagai program yang lengkap.
Detail lainnya:
Semua kode harus ditulis dalam bahasa yang sama.
Seperti biasa, input harus berasal dari stdin, baris perintah, argumen fungsi, atau apa pun yang biasa untuk bahasa Anda. Output dicetak ke stdout atau alternatif terdekat bahasa Anda, atau dikembalikan dalam jenis yang sesuai.
Jumlah yang wajar dari format input baik-baik saja; mis. kutipan di sekitar string atau
\n
bukannya baris baru yang sebenarnya.Output harus persis seperti apa yang dipanggil tanpa pemformatan atau ruang kosong. Pengecualian adalah opsional single trailing newline.
Kode yang hanya berjalan di lingkungan REPL bukan merupakan program atau fungsi.
Anda tidak boleh menulis banyak program yang menyelesaikan banyak tugas. Entah itu satu program yang (idealnya) menyelesaikan semua tugas, atau (idealnya) 12 program yang masing-masing menyelesaikan satu tugas.
Memposting solusi tugas yang tidak Anda tulis atau hanya sedikit dimodifikasi tidak diizinkan tanpa memberikan atribusi kepada penulis asli, dan idealnya juga mendapatkan izin. Jika jawaban Anda terutama menyusun solusi terpendek dari semua jawaban lain maka itu harus menjadi wiki komunitas.
Mencetak gol
Kiriman yang menyelesaikan sebagian besar tugas adalah pemenang. Jika dua pengiriman mengikat, satu dengan byte terkecil menang. Jika jumlah byte diikat, pengiriman sebelumnya menang. Jawaban wiki komunitas tidak diizinkan untuk menang.
Pastikan untuk memberi tahu kami tugas mana yang Anda selesaikan, bukan hanya berapa banyak!
Handicap untuk pegolf:
Kemungkinan tantangan ini akan didominasi oleh bahasa golf . Banyak bahasa mungkin mengalami kesulitan menyelesaikan bahkan satu atau dua tugas dalam 140 byte. Karenanya, Anda dapat mengirimkan jawaban non-kompetitif dengan batasan 3 tweet, yaitu 420 byte. Semua aturan lainnya tetap sama.
Tugas
Tugas 1 - Bisakah Tiga Angka Membentuk Segitiga?
Ambil tiga bilangan bulat positif dan hasilkan nilai true / falsy yang menunjukkan apakah tiga garis dengan panjang itu bisa membentuk segitiga . Anda tidak boleh berasumsi angkanya datang dalam urutan tertentu.
Contoh kebenaran (satu per baris):
20 82 63
1 1 1
2 3 4
1 2 2
Contoh-contoh palsu:
6 4 10
171 5 4
1 1 2
1 2 3
Tugas 2 - Terdekat Dengan Satu Juta
Diberikan string tepat 7 digit desimal (0-9), atur ulang mereka untuk mendapatkan angka sedekat mungkin dengan satu juta. Artinya, abs(1000000 - rearrangedNumber)
harus diminimalisir.
Cetak atau kembalikan angka yang dihasilkan sebagai integer, bukan string (jadi tidak boleh ada nol terkemuka kecuali itu norma untuk bahasa Anda).
misalnya input 9034318
harus menghasilkan 984331
(dan tidak 1033489
).
2893984
harus menjadi 2348899
.
0001000
harus menjadi 1000000
.
0000020
harus menjadi 200000
.
Tugas 3 - Simulator Keyboard Sederhana
Ambil string huruf kecil (az), spasi, dan kurung sudut <>
. Baca kiri ke kanan, string ini mewakili tombol-tombol yang ditekan pada keyboard standar sementara editor teks yang awalnya kosong terbuka. Huruf dan spasi sesuai dengan tombol normal tetapi <
sesuai dengan tombol panah kiri dan >
tombol panah kanan, yang keduanya menggerakkan kursor saat ditekan.
<
memindahkan kursor satu karakter ke kiri, atau tidak melakukan apa-apa jika kursor berada di awal string.
>
memindahkan kursor satu karakter ke kanan, atau tidak melakukan apa pun jika kursor berada di akhir string.
Keluarkan string yang akan berada di editor teks setelah semua tombol dalam string input telah ditekan. Mengeluarkan kode pelarian untuk memindahkan kursor tidak diizinkan.
Akan selalu ada setidaknya satu karakter kunci non panah dalam input.
misalnya input ui<<q>>ck <<<<<<the<<<<>>> >>>>>>>>brown x<o<f
harus menghasilkan the quick brown fox
.
op<<l>>t<<<lam>>>>>>imi<<<><>>>zer<<<<<<<<<<<<<<<<<<>>><>m
harus memberi llammoptimizer
.
e< <c<b<a
harus memberi abc e
.
<<<>><><<><toast>><<>><><<>><
harus memberi toast
.
Tugas 4 - Surat FILTHE
Dalam banyak font, 6 dari huruf besar huruf bahasa Inggris alfabet seluruhnya terdiri dari garis horizontal dan vertikal: E
, F
, H
, I
, L
, dan T
. Kami akan memanggil ini surat FILTHE.
Ambil string huruf besar (AZ) dan hitung jumlah baris dalam huruf FILTHE, hasilkan bilangan bulat yang dihasilkan.
E
, F
, H
, I
, L
, Dan T
memiliki 4, 3, 3, 3, 2, dan 2 jalur masing-masing.
misal GEOBITS
memiliki 4 + 3 + 2 = 9 baris bagian dari huruf FILTHE (untuk .E..IT.
), jadi hasilnya seharusnya 9
.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
harus keluar 17
.
ABCDGJKMNOPQRSUVWXYZ
harus keluar 0
.
FILTHYLINESINLETTERS
harus keluar 39
.
Tugas 5 - Alex Recursive A.
Moderator kami Alex A. memiliki inisial yang cukup misterius, "A".
Sekarang saya tidak yakin, tapi saya pikir A.
singkatannya .A xelA
. Dan saya juga cukup yakin bahwa di .A
sana ada singkatan Alex A.
.
Dengan demikian untuk mendapatkan nama lengkap Alex kita harus memperluas A.
'dan .A
':
Alex A. -> Alex [A.] -> Alex [.A xelA] -> Alex .A xelA -> Alex [.A] xelA -> Alex [Alex A.] xelA -> Alex Alex A. xelA -> etc.
Mintalah program Anda menerima bilangan bulat non-negatif dan perluas Alex A.
itu berkali-kali, menghasilkan string yang dihasilkan.
Jadi
0
menjadi Alex A.
,
1
menjadi Alex .A xelA
,
2
menjadi Alex Alex A. xelA
,
3
menjadi Alex Alex .A xelA xelA
,
4
menjadi Alex Alex Alex A. xelA xelA
,
5
menjadi Alex Alex Alex .A xelA xelA xelA
,
dan seterusnya.
(Saya membuat ini karena saya merasa buruk karena secara tidak sengaja meninggalkan Alex dari tantangan mod upeti saya .: P)
Tugas 6 - Rotasi Numpad
Ambil bilangan bulat dari 1 hingga 9 inklusif (Anda dapat menganggapnya sebagai string). Output 3 × 3 kuadrat digit
789
456
123
diputar dalam peningkatan 90 ° sehingga digit input muncul di mana saja di baris atas. Kapan 5
input setiap rotasi adalah output yang valid karena 5
tidak dapat diputar ke atas.
misal kapan 3
input, keduanya
963
852
741
dan
321
654
987
adalah output yang valid.
Untuk input 4
, hanya
147
258
369
adalah output yang valid.
Tugas 7 - Membagi Digit Menjadi Puluhan
Ambil string nonempty digit desimal (0-9) dan hasilkan nilai yang sebenarnya jika dapat dipecah menjadi bagian-bagian yang bersebelahan di mana semua digit di setiap bagian dijumlahkan dengan tepat menjadi 10. Jika ini tidak mungkin, hasilkan nilai palsu.
misalnya 19306128
dapat dibagi seperti 19|3061|28
, bagian semua menjumlahkan ke 10 (1 + 9, 3 + 0 + 6 + 1, 2 + 8), sehingga nilai yang sebenarnya harus menjadi output.
Contoh kebenaran (satu per baris):
19306128
073
730
0028115111043021333109010
2222255
Contoh-contoh palsu:
6810410
9218
12341
5222225
000
Tugas 8 - Jam Persegi
Ambil string multiline yang berukuran konsisten.
Keluaran 12
jika inputnya adalah
_ _
| | |
|_ _|
Keluaran 3
jika inputnya adalah
_ _
| |_|
|_ _|
Keluaran 6
jika inputnya adalah
_ _
| | |
|_|_|
Keluaran 9
jika inputnya adalah
_ _
|_| |
|_ _|
Tidak ada input kasus lain.
Tugas 9 - Seni Braket
Ambil di string 4 byte yang berisi salah satu dari masing-masing kurung kiri (
, [
, {
, dan <
dalam urutan apapun.
Tambahkan kurung siku yang sesuai sehingga panjang string 8 byte dan memiliki garis simetri vertikal. misalnya [<({
menjadi [<({})>]
.
Kemudian balikkan setiap braket dalam string ini. misalnya [<({})>]
menjadi ]>)}{(<[
.
Keluarkan string braket 8 byte asli dengan versi terbalik di atas dan di bawah pada baris terpisah.
Jadi output akhir untuk input [<({
adalah
]>)}{(<[
[<({})>]
]>)}{(<[
Demikian pula, output untuk <({[
seharusnya
>)}][{(<
<({[]})>
>)}][{(<
Input (<<[
tidak valid karena tidak {
ada dan ada tambahan <
.
Tugas 10 - Membatasi Perimeter
Ambil kotak teks persegi panjang (berukuran paling kecil 1 × 1) yang terbuat dari .
yang mewakili ruang kosong dan X
yang mewakili ubin padat. Sel di luar batas grid dianggap kosong. Anda dapat mengasumsikan masing-masing dari 4 baris tepi kolom dan kolom akan mengandung setidaknya satu X
.
mis. input yang valid mungkin:
XXX.....X.....
X..X...X.X....
XXX.....X....X
Keluarkan kisi teks segi empat lain di mana setiap sel kosong yang bertetangga dengan X
ortogonal atau diagonal, termasuk di luar kisi input , menjadi o
. Jadi intinya pembatas o
digambar di sekitar semua bagian ubin padat. Grid baru tidak boleh lebih besar dari yang seharusnya.
Jadi output dari contoh di atas adalah:
ooooo...ooo.....
oXXXoo.ooXoo....
oXooXo.oXoXo.ooo
oXXXoo.ooXoo.oXo
ooooo...ooo..ooo
Demikian pula, output dari input XXX..X.X
seharusnya
oooooooooo
oXXXooXoXo
oooooooooo
dan keluaran
oooooooooo.
oXXXooXoXo.
oooooooooo.
tidak valid karena kolom paling kanan yang kosong tidak perlu.
Anda dapat menggunakan 3 berbeda ASCII printable karakter di tempat .
, X
dan o
.
Tugas 11 - Sator Square
Output Sator Lapangan :
SATOR
AREPO
TENET
OPERA
ROTAS
Salah satu hurufnya mungkin huruf kecil atau besar, jadi
SatOR
aRePO
tenet
OPERa
RoTaS
juga merupakan output yang valid.
Tidak ada input.
Tugas 12 - Tweet Utama
Tidak mengambil input tetapi menghasilkan string ASCII 140 byte yang dapat dicetak yang mengandung setidaknya satu dari masing-masing dari 95 karakter ASCII yang dapat dicetak. (Jadi 45 karakter akan menjadi duplikat.)
Jumlah kode karakter dari semua 140 byte dalam string ini harus berupa perdana Sophie Germain , yaitu bilangan prima p
sedemikian sehingga 2p+1
juga bilangan prima. Kode karakter untuk ruang adalah 32, 33 untuk !
, 34 untuk "
, dan seterusnya hingga 126 untuk ~
. Jumlahnya dapat dihitung dengan Python sebagai sum(map(ord, myString))
.
Contoh output adalah:
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~d
Jumlah kode karakter adalah prime 12203 yang prime safe-nya adalah 24407.
sumber
import
s? Katakanlah saya menulis 5 fungsi di mana 2 membutuhkan modul yang sama (misalnyaimport Math
), apakah ini dihitung dua kali?Jawaban:
Pyth, 9 tugas dalam 136 byte
Tugas 1: 7 byte
Demonstrasi
Sortir dalam urutan menurun (
_SQ
), lipat pengurangannya (a-b-c
), periksa apakah hasilnya negatif.Tugas 2: 14 byte
Demonstrasi
Bentuk semua permutasi string (
.pz
), urutkan (o
) berdasarkan nilai absolut dari selisih (.a-
) antara angka (sN
) dan satu juta (^T6
).Ambil string pertama (
h
), dan ubah menjadi num. (s
).Tugas 4: 19 byte
Demonstrasi
Ulangi
"EFHILT"
tiga kali (*3
), hapus trailingLT
(PP
), dan tambahkanE
(+\E
). Petakan setiap huruf dalam input dengan jumlah kemunculannya dalam string itu. (/L ... z
). Jumlah. (s
).Tugas 5: 16 byte
Demonstrasi
Dimulai dengan
"A."
, mundur, dan tambahkan"Alex "
ke awal, masukkan +1 kali.Tugas 7: 13 byte
Ubah string input menjadi daftar angka 1-digit (
sMz
). Bentuk semua partisi (./
). Jumlahkan setiap elemen dari setiap partisi (sMM
). Hapus semua 10 dari setiap sublist (-RT
). Periksa apakah ini mengosongkan salah satu sublists dengan memeriksa apakah daftar kosong ada di daftar keseluruhan (}Y
).Tugas 8: 11 byte
Demonstrasi
Modulo magic. Konversikan ke angka (
CQ
), ambil mod 199 (C\Ç
= 199), dan ambil mod 4. Kemudian tambahkan 1, dan kalikan dengan 3.Tugas 9: 21 byte
Demonstrasi
Pertama, kami membuat baris pertama, yang terdiri dari input yang diterjemahkan ke karakter mirror (
Xz"<{[()]}>")
), diikuti oleh input terbalik (+ ... _z
), dan simpan keJ
. Kemudian cetak garis itu, kebalikannya, dan garis itu lagi (J_JJ
).Tugas 11: 22 byte
Demonstrasi
Cukup cetak string dan pembalikannya, tetapi jangan menduplikasi tengahnya
N
.Tugas 12: 13 byte
Demonstrasi
Ada karakter invisble
DEL
(7F
) di akhir kode.Ini mencetak
yang memiliki jumlah karakter
11321
. Terdiri dariG
, alfabet, 193
detik, dan semua karakter ASCII yang dapat dicetak.sumber
CJam,
89 tugas dalam 140 bytePertama, berikut adalah skrip yang dapat Anda gunakan untuk mengurutkan solusi Anda dan memberi tahu Anda mana yang akan masuk ke dalam tweet:
Cukup tempelkan 12 solusi Anda ke input, satu di setiap baris. Jalankan di sini. Kolom pertama adalah nomor tugas, yang kedua ukurannya (dalam karakter - Anda harus memperbaikinya sendiri jika itu berbeda dari jumlah byte), yang ketiga adalah ukuran kumulatif. Program yang masuk ke dalam tweet dipisahkan dari yang lain dengan satu baris
===
.Bagi saya, hasilnya terlihat seperti ini:
Jadi, inilah tugas-tugas yang saat ini dapat saya masukkan ke dalam tweet.
Tugas 1 - Bisakah Tiga Angka Membentuk Segitiga? -
87 byteTerima kasih kepada jimmy23013 untuk menghemat 1 byte.
Suite uji.
Input diharapkan daftar gaya CJam.
Ini cukup mudah: periksa apakah sisi terbesar lebih pendek dari jumlah dua lainnya. Atau setara, periksa bahwa sisi terpendek lebih panjang dari perbedaan dua lainnya:
Tugas 2 - Terdekat Dengan Satu Juta - 15 byte
Suite uji.
Brute force sederhana:
Tugas 4 - Surat FILTHE -
2119 byteTerima kasih kepada jimmy23013 untuk menghemat 2 byte.
Suite uji.
Idenya adalah untuk membuat string yang berisi masing-masing huruf FILTHE satu kali untuk setiap baris ortogonal mereka. Ini dilakukan melalui beberapa manipulasi string yang lucu:
Tugas 5 - Alex Recursive A. -
2720 byteSuite uji.
Melaksanakan substitusi
A.
dan.A
langsung terlalu mahal. Sebagai gantinya, kami perhatikan bahwa kami hanya perlu menangani satu kasing, jika kami membalikkan senarnya setiap kali. Lebih jauh lagi, menambahkanAlex
(dan spasi) setiap waktu sama dengan memperluas inisial. Kita dapat menyimpan byte lain dengan menambahkan yang terbalik sebelum membalikkan string:Tugas 7 - Membagi Digit Menjadi Puluhan -
181613 byteSuite uji. (Dengan tanda kurung di sekitar setiap output.)
Tidak sepenuhnya ramah pengguna: nilai kebenaran adalah baris baru, nilai palsu adalah string kosong.
Ide dasarnya sederhana: tambahkan digit ke total berjalan yang kita reset setiap kali tepat 10. Total harus nol pada akhir input. Sebagai permulaan ternyata lebih pendek dari total pada 10 dan kurangi digit, atur ulang total setiap kali kita menekan 0. Namun, kita perlu memastikan bahwa kita tidak mengembalikan sesuatu yang benar ketika input semua nol. Cara terpendek yang saya temukan untuk melakukannya adalah dengan mereset total ke karakter dengan titik kode 10 (linefeed), dan kemudian periksa di akhir bahwa kita benar-benar memiliki karakter itu di stack, dan bukan angka 10. Ini berfungsi, karena bilangan bulat nol dan karakter nol (byte nol) salah:
Tugas 8 - Jam Persegi - 10 byte
Suite uji.
Ini hanya beberapa sihir modulo yang cukup acak pada kode karakter yang terjadi hash ke nilai yang benar. Saya cukup yakin bahwa sesuatu yang lebih pendek adalah mungkin, tetapi ini adalah yang terpendek yang saya temukan (secara terprogram) untuk struktur seperti ini:
Tugas 9 - Seni Braket -
2322 byteTerima kasih kepada Sp3000 untuk menghemat 1 byte.
Suite uji.
Cukup mudah. Pemetaan antara kurung kiri dan kanan dilakukan dengan menambahkan 2 (atau 1 untuk tanda kurung):
Tugas 11 - Sator Square - 22 byte
Uji di sini.
Mungkin solusi yang paling membosankan dari semuanya. Ini mendorong bagian pertama dari string dan kemudian membalikkannya:
Tugas 12 - Tweet Utama -
1312 byteUji di sini. (Dengan hasil diagnostik untuk hasilnya.)
Setelah
'
ada yang tidak dicetak<DEL>
(0x7F), yang SE strip. Untuk menempelkan salinan, gunakan versi ini sebagai gantinya:String yang dicetak adalah
Artinya, ini berisi satu run semua karakter, diikuti oleh run lain dari
S
ke~
, diikuti oleh satud
. Jumlah kode karakter adalah 12203. Saya menemukan ini melalui sedikit trial and error.sumber
q~$~\->
q"FIHEELT"3*H<fe=:+
.e=
hari-hari ini.Pyth, 9 tugas dalam 138 byte
Ini butuh waktu cukup lama.
Saya pikir 9 tugas adalah batas untuk Pyth. Termasuk program terpendek berikutnya (Sator Square) menghasilkan 160 byte. Bermain golf 20 byte sangat tidak mungkin. Ada 2 atau 3 tugas yang sedikit jelek dan mungkin bisa dipersingkat, tapi secara keseluruhan saya cukup senang dengan solusinya.
Tugas 1 - Bisakah Tiga Angka Membentuk Segitiga ?, 8 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 2 - Terdekat Dengan Satu Juta, 14 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 4 - Surat FILTHE, 20 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 5 - Alex Recursive A., 16 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 6 - Rotasi Numpad, 20 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 7 - Membagi Digit Menjadi Puluhan, 15 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 8 - Jam Persegi, 12 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 9 - Seni Braket, 20 byte
Cobalah online: Input Reguler atau Test Suite
Tugas 12 - Tweet Utama, 13 byte
Cobalah online: Input Reguler
sumber
TI-BASIC,
1112 Tugas dalam728830 byteTugas 1 dalam 7 byte
Input adalah daftar di
Ans
.Tugas 2 dalam
92110 byteAnjuran untuk daftar digitInput adalah stringAns
.Tugas 3 dalam 119 byte
Meminta string. Asumsikan C dan L tidak terdefinisi atau 0.
Tugas 4 dalam 35 byte
Input adalah string
Ans
.Tugas 5 dalam 63 byte
Input adalah angka dalam
Ans
.Tugas 6 dalam 66 byte
: 𝑖 ^ ((Ans
<
7) (Ans-3 (Ans>
3: Untuk (Y, ⁻1,1: Jumlah sum (seq ((5-real (AnsX + Ans𝑖Y) -3imag (AnsX + Ans𝑖Y)) ₁₀ ^ ( X + 1), X, ⁻1,1: AkhirInput adalah angka dalam
Ans
.Tugas 7 dalam
3643 byteMeminta
daftarstringdigit.Tugas 8 dalam 29 byte
Input adalah string
Ans
.Tugas 9 dalam 83 byte
Input adalah string
Ans
.Tugas 10 dalam 159 byte
Gunakan
X0.
bukan.Xo
masing - masing (maaf tidak ada yang cocok). Anjuran untuk input baris demi baris. Anda harus memasukkan dua barisX
s untuk melihat semua output, dan kemudian 2nd + Quit untuk keluar.Tugas 11 dalam 39 byte
Tugas 12 dalam 77 byte
: Ans + "tvm_I% LinReg (ax + b) DS
<
(getKeyconj (1-PropZTest (dayOfWk (Manual-Fit C / YANOVA (* baris (HorizRegEQUnarchive [J]! # $&
'', .234567890:; =>
? @GBQX\
^ ;; _`qw {|} ~Atau sebagai hex:
Input adalah string yang berisi
"
diAns
.Ini sebenarnya tidak mungkin dalam TI-BASIC. Dimungkinkan untuk mengedit hex program dasar dan menggunakan token 2-byte tertentu untuk mendapatkan semua karakter ascii yang dapat dicetak ke dalam kode sumber, tetapi bukan itu masalahnya. Masalahnya adalah bahwa tidak ada cara untuk menyimpan"
karakter ke dalam string di dasar murni pada kalk bersih tanpa input program (hal yang sama berlaku untuk→
karakter, tetapi itu tidak dapat dicetak ascii). Namun, dimungkinkan untuk menempatkan"
ke dalam persamaan di luar dasar, setelah itu Anda dapat menggunakan dasar untuk mengubah persamaan menjadi string dan menampilkan string itu. Di atas semua itu, hanya ada cukup ruang di layar untuk 128 karakter sekaligus.sumber
Perl, 4 tugas dalam 117 byte
Mari kita coba bahasa nyata ;)
Belum menyerah, bahkan mungkin bisa memeras 5 tugas dalam 140 byte, meskipun tidak mungkin!
* Tugas 1: 30 + 1 = 31 byte
Pemakaian:
perl -aM5.010 entry.pl input.txt
* Tugas 4: 32 + 1 = 33 byte
Pemakaian:
perl -p entry.pl input.txt
Tugas 5: 54 byte
-2b terima kasih kepada Dom Hastings
Pemakaian:
echo 4 | perl -M5.010 entry.pl
Tugas 7: 37 + 2 = 39 byte
Pemakaian:
perl -pF entry.pl input.txt
* Tugas 8: 21 + 2 = 23 byte
Ini sedikit rumit. Dimulai dengan mengganti masing-masing
|
denganx
dan masing-masing_
dengany
ruang kemudian menggantikan untuk menghasilkan string dua digit yang unik untuk setiap grid (yyxxyxxyyx
,yyxxyxxyyxyyxxxxyxyx
,yyxxxxyxyxyyxyxxxyyx
,yyxyxxxyyxyyxxxxyyx
,yyxxxxyyx
). Selanjutnya, saya menulis sebuah program untuk bruteforce nilai untukx
dany
, dan operasi matematika yang dapat dilakukan pada angka-angka yang dihasilkan setelah penggantianx
dany
untuk memberikan output 3,6,9,12 untuk setiap angka. Pada akhirnyax=1
,,y=4
dan operasi sihir itu/64%14
.Pemakaian:
perl -0p entry.pl input.txt
Tugas 11: 34 byte
Pemakaian:
perl -M5.010 entry.pl
* Tugas 12: 30 byte
Pemakaian:
perl -M5.010 entry.pl
Penafian:
-M5.010
dianggap 'gratis'sumber
qw(A. .A)[$_%2]
alih - alih("A.",".A")[$_%2]
dalam tugas 5, dan saya yakin Anda bisa mendapatkan beberapa byte lagi ...Ruby, 4 tugas dalam 280 byte (tidak kompetitif)
Ini hanya upaya, saya akan terus membuat tugas nanti (dan semoga golf yang sudah ada).
Tugas 1
Tugas 2
Tugas 4
Tugas 5
sumber
TI-BASIC, 12 tugas dalam 994 byte
Unduh semua sebagai file grup TI ( .8xg )
(Tag spoiler ditambahkan per permintaan.)
Tugas 1 - Bisakah Tiga Angka Membentuk Segitiga? - 7 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 2 - Terdekat Dengan Satu Juta - 114 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 3 - Simulator Papan Ketik Sederhana -
131127 byteUnduh sebagai file program TI-83 + ( .8xp )
Tugas 4 - Surat FILTHE - 34 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 5 - Alex Recursive A. - 107 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 6 - Rotasi Numpad - 86 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 7 - Membagi Digit Menjadi Puluhan - 77 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 8 - Jam Persegi - 35 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 9 - Seni Braket - 86 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 10 - Membatasi - 218 byte
Unduh sebagai file program TI-83 + ( .8xp )
Pergantian ini telah dilakukan:
0
=.
,1
=X
,2
=o
Untuk input (setelah program dimulai), ketikkan satu baris sekaligus, tekan enter pada setiap jeda baris, hingga baris terakhir ditulis. Lalu tekan enter, ketik satu periode, lalu tekan enter lagi untuk mengirim seluruh string.
Tugas 11 - Sator Square - 38 byte
Unduh sebagai file program TI-83 + ( .8xp )
Tugas 12 - Tweet Utama - 151 byte
Unduh sebagai file program TI-83 + ( .8xp )
Ans
harus berisi kutipan ganda, dilakukan dengan mengetikkan langsung ke\Y1\
dari editor persamaan dan berlariEqu►String(\Y1\,Str1:Str1
dari layar beranda.Panjang output 140. 8 muncul dua kali, dan ada 45 spasi bersama dengan karakter ASCII lainnya masing-masing muncul satu kali. Ini berjumlah (33 + 34 + ... + 126) + 56 + 32 × 45 = 8969, perdana Sophie Germain.
sumber
sin(
sebagai menampilkans
,i
,n
, dan(
dalam Task 12Python 3, 1 tugas, 268 byte, tidak kompetitif
Saya mencoba Tugas # 2 dengan Python 3.5.2 Saya baru mengenal kode golf dan python
sumber
x=10;print(x)
Ini akan membantu beberapa bagian Anda yang berlekuk.