pengantar
Keluarkan semua angka dalam basis tertentu yang akan muncul dalam versi tujuh game yang diadaptasi.
Tantangan
Tugas Anda adalah menampilkan semua angka dalam basis tertentu dalam rentang tertentu, melewatkan yang cocok dengan kondisi tertentu.
Anda akan diberikan empat input: base
elim
start
dan end
. Peran keempat variabel tersebut adalah sebagai berikut:
base
menentukan basis apa yang kami gunakan untuk tiga variabel lainnya, dan juga untuk output. Salah satu cara untuk mengekspresikannya adalah menggunakan karakter tunggal yaitu '8', '9' atau huruf kapital dari 'A' ke 'Z', menggunakan 'A' untuk sistem desimal, dan 'G' untuk sistem heksadesimal. Basis yang diharapkan akan didukung adalah 8 hingga 35 (inklusif). Ini hanya cara saya yang disarankan untuk mengekspresikanbase
dan saya akan menggunakannya di bagian Input dan Output Contoh , tetapi juga baik untuk menggunakan cara Anda sendiri untuk mengekspresikannya. Misalnya, Anda dapat memilih untuk memformatbase
sebagai representasi desimal seperti biasanya.start
danend
dua string yang menentukan kisaran angka yang akan dikeluarkan, dinyatakan dalam yang diberikanbase
. Jikabase
adaG
danstart
ada10
danend
sedang1F
, Anda perlu output10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
, tetapi Anda juga perlu menghilangkan beberapa berdasarkan apa yangelim
ada, yang akan dijelaskan segera.elim
adalah karakter tunggal dan harus merupakan digit yang valid dalam yang diberikanbase
. Semua angka yang mengandung digitelim
atau kelipatannyaelim
harus dihilangkan dari daftar untuk menghasilkan hasil akhir.
Dalam kasus di atas, jika elim
ada 7
, maka 17
perlu dihilangkan karena mengandung digit 7
. 15
dan 1C
juga perlu dihilangkan karena mereka adalah kelipatan 7
. Jadi hasil akhirnya10 11 12 13 14 16 18 19 1A 1B 1D 1E 1F
Uji Kasus
Input -> Output
G,7,10,1F -> 10 11 12 13 14 16 18 19 1A 1B 1D 1E 1F
A,3,1,100 -> 1 2 4 5 7 8 10 11 14 16 17 19 20 22 25 26 28 29 40 41 44 46 47 49 50 52 55 56 58 59 61 62 64 65 67 68 70 71 74 76 77 79 80 82 85 86 88 89 91 92 94 95 97 98 100
G,A,96,C0 -> 97 98 99 9B 9C 9D 9E 9F B0 B1 B2 B3 B5 B6 B7 B8 B9 BB BC BD BF C0
Kasing tes ketiga ditambahkan setelah posting asli. Semua jawaban yang diposting sebelum suntingan telah diuji dan lulus tes ketiga.
Spesifikasi
Masukan akan selalu valid jadi jangan khawatir tentang penanganan pengecualian.
Ini adalah kode-golf , jumlah byte terendah yang menang.
Anda dapat mengambil input dan memberikan output melalui formulir standar apa pun , dan Anda bebas memilih format.
Seperti biasa, celah default berlaku di sini.
Ini didasarkan pada (versi kehidupan nyata) permainan tujuh .
Saya
base
harus setidaknya 8 murni karena selera pribadi. Saya hanya tidak ingin melihat jumlah digit dalam urutan tumbuh terlalu cepat.
Papan angka
Cuplikan diambil dari pertanyaan ini . Jalankan cuplikan untuk mendapatkan papan skor.
sumber
base,elim,start,end
, 'A' untuk sistem desimal , 'G' untuk sistem heksadesimal ), cobalah memformat kasus pengujian Anda dengan cara yang mudah dilakukan. gunakan dan pertimbangkan untuk menggunakan Kotak Pasir untuk menerima umpan balik sebelum memposting ke situs utama. Secara keseluruhan, ini adalah tantangan pertama yang bagus!start
,end
danelim
lebih lunak."G,7,10,1F"
input, pendekatan yang sepenuhnya fleksibel akan memungkinkan, misalnya,[16,7,16,31]
sebagai input dan[[1,0],[1,1],[1,2],[1,3],[1,4],[1,6],[1,8],[1,9],[1,10],[1,11],[1,13],[1,14],[1,15]]
sebagai output. (Perhatikan bahwa jawaban pertama menganggap sebagian dari ini sudah diizinkan, karena cukup standar - tetapi sepenuhnya terserah Anda).Jawaban:
Emojicode ,
141116 byteterima kasih kepada @NieDzejkob selama 25 byte!
Cobalah online!
sumber
Jelly ,
ย 12ย11 byte-1 terima kasih kepada Erik the Outgolfer (penggunaan "order"
แป
di tempat yang dapat dibagi dengan argumen yang dipertukarkan,แธ@
)Program lengkap yang mengambil tiga input sebagai argumen baris perintah, yang semuanya menggunakan notasi desimal - daftar
[start, end]
, dan dua angka,base
danelim
- yang mencetak representasi Jelly dari daftar daftar, di mana masing-masing mewakili digit angka dibase
dan setiap digit adalah angka desimal (misalnya 1043 dalam basis 20 akan menjadi[2,12,3]
, yaitu 2 ร 20 2 + 12 ร 20 1 + 3 ร 20 0 ).Cobalah online!
Catatan kecil: ini tidak akan berfungsi untuk rentang yang menyertakan nilai negatif, tetapi tantangan tertaut dimulai dari 1 dan dihitung.
Bagaimana?
sumber
แธ@
bisaแป
;) (btw saya akan mempostingrแปรแธโถbโตฤรแธโถ
...)แปรแธ
bisa adalah%รf
Julia 0,6 , 69 byte
Input adalah di
base, elim, start:end
manastart:end
aUnitRange
. sebagai basis 10 integer. Menghasilkan daftar string angka-angka di dasar yang diberikan. Filter untuk dapat dibagi dalam bentuk bilangan bulat, digunakanbase.
untuk konversi elemen ke string, lalu filter pada penahanan angka. Contoh yang dipanggil:f(10,3,1:100)
Cobalah online!
sumber
Python 2 ,
10294 byteCobalah online!
Input dan output di basis 10.
sumber
Perl 6 ,
ย 94ย57 byteUji itu (94)
Karena aturan telah berubah:
Mengujinya (Int, Int, Range)
Output adalah daftar string di pangkalan
Diperluas
sumber
JavaScript, 82 byte
Quickie sebelum saya memukul boozer! Mengambil input dalam basis-10 dalam urutan
base
,elim
,start
&end
dan output ruang delimited string basis 10-angka dengan ruang tambahan tunggal.Cobalah online
sumber
Japt , 16 byte
Segera ditulis ulang setelah spesifikasi diubah untuk memungkinkan input desimal sehingga mungkin dapat ditingkatkan.
Mengambil input dalam urutan
start
,end
,base
,elim
dan output array angka dalam basis yang diberikan.Cobalah
Penjelasan
sumber
elim
ditetapkan sebagai satu digit (yaitu,0-9
) daripada karakter tunggal di basis input.Java 8, 92 byte
Masukkan sebagai
Integer (base), String (elem), int (start), int (end)
.Penjelasan:
Cobalah online.
Tiga kasus uji dimasukkan seperti ini:
sumber