Dengan bilangan bulat positif n , ikuti langkah-langkah ini:
- Buat array A dengan n 1 s.
- Jika A hanya memiliki satu elemen, akhiri. Jika tidak, mulai dari elemen pertama, ganti setiap pasangan A dengan jumlahnya, biarkan elemen terakhir seolah-olah panjang A aneh, dan ulangi langkah ini.
Output harus berisi A state 's setelah setiap langkah dalam urutan dari langkah pertama untuk yang terakhir. Penggunaan celah standar dilarang. Ini adalah tantangan kode-golf , sehingga solusi dengan byte paling sedikit di setiap bahasa menang.
Uji kasus
Setiap baris dalam output dari contoh-contoh ini adalah status. Anda dapat menampilkan melalui format apa pun yang wajar.
Memasukkan: 1
[1]
Memasukkan: 4
[1, 1, 1, 1]
[2, 2]
[4]
Memasukkan: 13
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[2, 2, 2, 2, 2, 2, 1]
[4, 4, 4, 1]
[8, 5]
[13]
Memasukkan: 15
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[2, 2, 2, 2, 2, 2, 2, 1]
[4, 4, 4, 3]
[8, 7]
[15]
code-golf
arithmetic
Erik the Outgolfer
sumber
sumber
Jawaban:
05AB1E , 7 byte
Cobalah online!
sumber
MATL , 10 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Python 3 , 57 byte
Cobalah online!
Python 2 , 51 byte
Cobalah online!
Total -6 byte berkat tsh
Fungsi rekursif. Untuk setiap langkah, itu membangun daftar kekuatan
2
, sehingga jumlahnya lebih kecil dari atau sama dengan bilangan bulat yang diberikan. Kemudian menambahkan sisanya, jika lebih besar dari0
.sumber
def f(i,j=1):l=i//j*[j]+[i%j][:i%j];print(l);i>j and f(i,j*2)
; Python 2 55 byte:def f(i,j=1):l=i/j*[j]+[i%j][:i%j];print l;i>j>f(i,j*2)
i>j
tidak berfungsi pada solusi saya sebelumnya dan saya lupa untuk mencobanya sesudahnya.Jelly , 6 byte
Cobalah online!
sumber
R , 65 byte
-1 byte terima kasih kepada Giuseppe.
Cobalah online!
%/%
%%
k=2^i
n%/%k
k
n%%k
Di sini saya menggunakan
T
alih-alihk
, karena ini diinisialisasi sebagaiTRUE
yang dikonversi ke 1. Saya masih perlu mencetak+T
bukannyaT
untuk menghindari vektorTRUE
s di output.sumber
+T
lebih pendek dariT+0
Pyth , 10 byte
Cobalah online!
-1 byte terima kasih kepada FryAmTheEggman
sumber
JavaScript (V8) , 109 byte
Cobalah online!
sumber
Bahasa Wolfram (Mathematica) ,
5554 byteCobalah online!
Akhirnya,Sow
/Reap
mengalahkan alternatif!Mengembalikan daftar tunggal yang berisi daftar langkah-langkah.
sumber
K (oK) ,
1517 byteCobalah online!
sumber
J , 20 byte
Cobalah online!
-2 byte terima kasih kepada Bubbler
sumber
[:
dan()
.Jelly , 6 byte
-1 byte terima kasih kepada Erik the Outgolfer .
Cobalah online!
sumber
JavaScript, 55 byte
Cobalah online!
Ini pada dasarnya adalah versi golf dari kode berikut:
sumber
Japt
-R
, 13 byteCobalah
sumber
Brachylog , 17 byte
Cobalah online!
Sebagai mengerikan selama ini, saya masih merasa sedikit pintar untuk menggunakan
.ẉȮ
: cara yang jelas untuk mencetak sesuatu, kemudian memeriksa apakah panjangnya adalah 1 akanẉ₂l1
,ẉ₂~g
atauẉ₂≡Ȯ
, di mana≡
dalam satu terakhir ini diperlukan karenaẉ₂
unifies input dan output sebelum mencetak mereka, danȮ
pra-dibatasi untuk menjadi daftar panjang 1, sehingga penyatuan gagal jika input bukan daftar panjang 1. Pada akhir predikat, fitur iniẉ₂
dapat dielakkan, oleh menggunakan variabel output alih-alih subscriptẉ
:.ẉȮ
pertama menyatukan inputnya dengan variabel output, kemudian mencetak variabel output, dan hanya setelah itu menyatukan variabel output denganȮ
.sumber
Stax , 10 byte
Jalankan dan debug itu
Prosedur:
Sumber Beranotasi:
sumber
Arang , 19 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Menggunakan format output default Charcoal, yaitu satu angka per baris, dengan subarrays spasi ganda satu sama lain. Penjelasan:
sumber
Perl 5 , 46 byte
Cobalah online!
Output dipisahkan oleh ruang.
sumber
Perl 6 , 38 byte
Cobalah online!
Ada beberapa jalan pintas untuk rotoring parsial yang saya tidak ingat sekarang ...
Penjelasan:
sumber
Haskell , 75 byte
Cobalah online!
Bekerja mundur dari daftar
[n]
hingga mencapai daftar yang adil.Ke depan, saya bisa mendapatkan 80 byte menggunakan
chunksof
dariData.List.Split
:Cobalah online!
sumber
Ohm v2 , 8 byte
Cobalah online!
Jika keluaran dalam notasi ilmiah diizinkan, jika tidak:
Ohm v2 , 9 byte
Cobalah online!
sumber
Gaia , 12 byte
Cobalah online!
sumber