Ambil bilangan bulat positif sebagai input. Mulailah dengan dan berulang kali tingkatkan oleh kekuatan bilangan bulat terbesar dari sepuluh sedemikian rupa sehingga dan .
Ulangi sampai dan kembalikan daftar semua nilai antara , termasuk awal dan akhir .
Selama proses ini, pertumbuhan pada awalnya akan dibatasi oleh ketidaksetaraan sebelumnya, dan hanya setelah itu oleh yang terakhir; pertumbuhan akan mengambil bentuk periode "ekspansi" awal, di mana ditingkatkan oleh kekuatan yang semakin besar, diikuti oleh periode "kontrak", di mana meningkat oleh kekuatan yang semakin kecil untuk "memperbesar" pada nomor yang benar.
Uji Kasus
1 => [1]
10 => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
321 => [1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 20, 30, 40, 50, 60, 70, 80, 90,
100, 200, 300, 310, 320, 321]
1002 => [1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 20, 30, 40, 50, 60, 70, 80, 90,
100, 200, 300, 400, 500, 600, 700, 800, 900,
1000, 1001, 1002]
Ini adalah kode-golf , jadi jawaban tersingkat (dalam byte) menang.
Jawaban:
Haskell ,
72686463 byteCobalah online!
Terima kasih Sriotchilism O'Zaic untuk -4 byte!
Pemakaian
Penjelasan
sumber
(^)
lebih diutamakan daripada(+)
Anda tidak perlu tanda kurung di sekitar(^)
ekspresi. Sama berlaku untuk(!)
dan(:)
pred.length.show.min c$t-c
dapat disingkat menjadilength(show.min c$t-c)-1
. Fungsi anonim dapat diterima, sehingga Anda dapat melepaskan yang terdepanf=
seperti dijelaskan dalam panduan kami tentang aturan golf di Haskell .c!t=c: if t>c then (c+10^(length(show.min c$t-c)-1))!t else []
. Ini memungkinkan untuk menerapkan tip ini untuk menghemat beberapa byte lagi: Cobalah online!JavaScript (ES6), 50 byte
Cobalah online!
Bagaimana?
Teori
Langkah-langkah berikut diulangi sampai :n = 0
Penerapan
'10'
'10'
sumber
k
untuk sesuatu yang sama sekali berbeda dari dalam deskripsi tantangan (pada kenyataannya Andan
adalah campuran dari OPn
dank
dan Andax
adalah merekai
.)Python 2 , 61 byte
Cobalah online!
sumber
Perl 6 ,
4841 byteCobalah online!
Penjelasan:
sumber
APL (Dyalog Unicode) , 30 byte SBCS
Fungsi awalan diam-diam anonim. Mencetak angka pada baris terpisah ke stdout.
Cobalah online!
{
}∘1
⍺=⍵
⍺
⋄
lain:⎕←⍵
⍺-
⍵,
10⍟
⌊
lantai itu⌊/
minimal itu10*
sepuluh diangkat ke kekuatan itu⍵+
⍺∇
sumber
05AB1E , 15 byte
Port dari jawaban Haskell dari @PaulMutser (pertama) , jadi pastikan untuk membatalkannya !!
Cobalah secara online atau verifikasi semua kasus uji .
Output angka-angka baris baru dibatasi.
Jika harus daftar, saya harus menambahkan 3 byte:
Cobalah secara online atau verifikasi semua kasus uji .
Penjelasan:
sumber
Jelly , 19 bytes
Cobalah online!
sumber
Bahasa Wolfram (Mathematica) , 51 byte
Cobalah online!
sumber
Batch, 131 byte
Mengambil input sebagai parameter baris perintah dan menampilkan daftar angka ke STDOUT. Penjelasan:
Mulailah dengan
n=1
dani=1
mewakili kekuatan 10.Kalikan
i
dengan 10 jikan
telah mencapai kekuatan 10 berikutnya.Keluarkan nilai saat ini dari
n
.Ulangi saat
i
dapat ditambahkann
tanpa melebihi input.Kembalikan nilai sebelumnya
n
dan bagii
dengan 10.Jika
i
tidak nol maka cobalah menambahkani
untukn
lagi.sumber
R ,
6765 byte-2 byte terima kasih kepada Giuseppe
Cukup mudah. Dibutuhkan seperangkat kekuatan 10 di luar apa yang akan dibutuhkan dalam urutan terbalik
i
.(Saya lebih suka menggunakan
i=10^rev(0:log10(k))
daripadai=10^(k:0)
yang terakhir tidak efisien secara komputasi, tetapi golf adalah golf!).Kemudian dalam loop sementara, menerapkan kondisi ke
i
dan mengambil yang pertama (yaitu terbesar); pembaruann
, dan menambahkan ke keluaranCobalah online!
sumber
T
bukann
; seharusnya 2 tetapi saya tidak berpikir ituTRUE
adalah output yang dapat diterimak=1
, jadi kami aturo=+T
. Cobalah!o=1
, dan mendapatkan byte kedua itu.Jelly , 12 byte
Cobalah online!
sumber
Pip , 27 byte
Cobalah online!
Dalam pseudocode:
Saya cukup senang dengan trik golf yang saya bisa terapkan untuk mempersingkat algoritma ini. Dengan menginisialisasi, memperbarui, dan mencetak hal-hal di header loop, saya dapat menghindari membutuhkan kurung kurawal untuk badan loop. Mungkin ada algoritma pegolf.
sumber
Japt , 18 byte
Cobalah
sumber
C # (Visual C # Interactive Compiler) ,
123122 byteCobalah online!
sumber
Prolog (SWI) , 142 byte
Cobalah online!
Penjelasan datang besok atau sesuatu
sumber