Minecraft 1.12 akan dirilis besok, jadi mari kita rayakan!
Tulis kode yang menggunakan bilangan bulat non-negatif yang mewakili jumlah item dari sesuatu di Minecraft . Keluarkan dengan cara yang lebih bermanfaat bagi para pemain, memberikan jumlah peti, tumpukan, dan item yang setara dengan N. Gunakan format
XcYsZi
dimana
X
adalah jumlah peti yang bisa kamu isi sepenuhnya dengan N item,Y
adalah jumlah tumpukan yang bisa kamu isi dengan barang yang tersisa setelah mengisi peti,Z
jika jumlah barang yang tersisa setelah mengisi peti dan tumpukan.
Perhatikan bahwa:
- 64 item dimuat dalam tumpukan. (Kami akan mengabaikan item yang menumpuk hingga 16 atau tidak menumpuk.)
- 27 tumpukan pas di peti. (Ini adalah peti tunggal, bukan peti ganda.)
Jadi tidak akan masuk akal jika Y
lebih dari 26 atau jika Z
lebih dari 63.
Peringatan dengan format adalah bahwa jika ada nol sesuatu, istilah itu tidak dicetak.
Jadi, misalnya, jika
Y
nol danX
danZ
bukan nol, formatnya akan terlihat sepertiXcZi
.Demikian juga jika
Y
danZ
nol danX
bukan nol, formatnya akanXc
.Pengecualian di sini adalah ketika N adalah nol. Maka
0i
adalah output daripada string kosong.
Anda dapat mengasumsikan semua item N dari jenis yang sama, maka semuanya dapat ditumpuk.
Anda tidak boleh menampilkan daftar atau tupel dari tiga angka. Anda harus memberikan string dengan notasi "csi" yang tepat, dalam urutan itu, tanpa spasi atau koma.
Untuk referensi, inilah peti yang penuh dengan tumpukan barang:
Testcases
in -> out
0 -> 0i
1 -> 1i
2 -> 2i
62 -> 62i
63 -> 63i
64 -> 1s
65 -> 1s1i
66 -> 1s2i
127 -> 1s63i
128 -> 2s
129 -> 2s1i
200 -> 3s8i
512 -> 8s
1337 -> 20s57i
1664 -> 26s
1727 -> 26s63i
1728 -> 1c
1729 -> 1c1i
1791 -> 1c63i
1792 -> 1c1s
1793 -> 1c1s1i
4096 -> 2c10s
5183 -> 2c26s63i
5184 -> 3c
5200 -> 3c16i
9999 -> 5c21s15i
385026 -> 222c22s2i
1000000000 -> 578703c19s
Kode terpendek dalam byte menang.
Jawaban:
Jelly ,
2624 byteProgram lengkap mengambil nomor dan mencetak hasilnya.
Rasanya terlalu lama bagi saya ...
Cobalah online! atau lihat test suite .
Bagaimana?
memperbarui ...
sumber
Retina ,
494841 byteCobalah online! Termasuk semua test case kecuali yang terakhir, jika TIO kelebihan beban. Sunting: Disimpan 7 byte berkat @MartinEnder. Penjelasan:
Ubah nomor input menjadi unary menggunakan
i
s.64 item mengisi satu tumpukan.
27 tumpukan mengisi satu peti.
Konversikan peti, tumpukan, atau item yang tersisa menjadi desimal, tetapi biarkan tipe tersebut sebagai akhiran.
Jika inputnya nol, buat hasilnya
0i
.sumber
$.&
duplikasi seperti ini: tio.run/##FYs9DsIwDIX3d46ASpGq2Ens5ARcAiEQYsjCQNmqnj21Lb9veD@/…i
bukan1
, tapi saya tidak bisa melihat penyederhanaan itu, terima kasih!C #,
8486 bytePerhatikan pengurangan inline, tidak menyadari itu mungkin tetapi
i--
masuk akal jadi mengapa tidaki-=10
Edit:
untuk 0 tepi case dan saran.
sumber
_-=_/1728*1728
untuk_%=1728
golf beberapa byte.0
, yang seharusnya menghasilkan0i
dan saat ini tidak menghasilkan apa-apa. Menambahkan hanya_>0?...:"0i"
akan memperbaiki ini.>_>
yang sudah dieditPython 3 , 87 byte
Cobalah online!
sumber
/
bukan//
) dan menggunakan operator backtick alih-alihstr(...)
05AB1E , 24 byte
Cobalah online!
Penjelasan
sumber
0
kasus input, dan mengapa itu juga mencetak baris tambahan sementara input lainnya tidak?0
kasing0i
akan berada di atas tumpukan (0s
dan0c
akan di bawahnya) dan akan dicetak.C, 85
87105110111112byteCoba di sini .
Kode tersebut bahkan berfungsi dengan baik pada angka negatif. Anda sekarang dapat berhutang blok OP server!
sumber
JavaScript (ES6),
7776 byteUji kasus
Tampilkan cuplikan kode
sumber
Java 8, 86 byte
Coba di sini.
sumber
CJam , 31 byte
Cobalah online!
Penjelasan
sumber
JavaScript (ES6) 71 byte
Potongan:
Tampilkan cuplikan kode
sumber
Python 2 , 82 byte
Saya mengubah komentar Gabor Fekete dari atas menjadi contoh yang berfungsi:
Cobalah online!
sumber
Batch,
347 335 283 246 234 202 199 191189 bytesumber
set/a
ekspresi, bukan?if %c%==0 (set c=)else rem
kode ini memberi saya "(set
tidak diharapkan"Braingolf , 71 byte
Cobalah online!
Sama sekali tidak golfy, tetapi berhasil
sumber
Mathematica, 155 byte
sumber
PHP , 84 byte
Cobalah online!
PHP , 93 byte
Cobalah online!
sumber
T-SQL,
139 134139 byteInput disimpan dalam kolom a dari tabel yang sudah ada t .
Jeda baris untuk keterbacaan, tidak dihitung dalam total byte. Diuji pada MS SQL Server 2012.
EDIT 1: Berubah beberapa
REPLACE
untukIIF
menyelamatkan 5 byte. FinalREPLACE
masih diperlukan karenaSTR
bantalan menjengkelkan dengan ruang hingga 10 karakter.EDIT 2: Tetap mengikuti aturan dengan menggunakan tipe input yang disetujui untuk SQL, nilai yang disimpan dalam tabel bernama . Ini byte biaya untuk
FROM
, juga membutuhkanSELECT
bukanPRINT
. Dipulihkan 2 byte dengan menjatuhkan parens yang tidak perlu.sumber
PowerShell, 113 Bytes
Ini menyentuh banyak titik sakit PowerShell dengan sangat tepat.
[math]::Floor
diperlukan untuk ini karena PS melakukan Rounding Bankir secara default.PS Ternary juga memakan banyak byte dibandingkan dengan bahasa lain, untuk melakukan null coallescence sederhana (
$a="This";$a?$a:"That"
atau"This"?:"That"
) yang perlu kita lakukan(($a="This"),"That")[$a-ne$null]
maka kita perlu menggunakan semua ini dua kali, dan juga menambahkan satu lagi tanda kurung di beberapa tempat karena perintah operasi standar powershell.
sumber
Python 2 , 77 byte
Cobalah online!
sumber
dc , 76 byte
Cobalah online!
sumber