Kita tahu bahwa f adalah polinomial dengan koefisien bilangan bulat non-negatif.
Diberikan pengembalian f (1) dan f (1 + f (1)) f . Anda dapat menampilkan f sebagai daftar koefisien, polinomial berformat ASCII, atau serupa.
Contoh:
f(1) f(1+f(1)) f
0 0 0
1 1 1
5 75 2x^2 + 3
30 3904800 4x^4 + 7x^3 + 2x^2 + 8x + 9
1 1073741824 x^30
f(1)
danf(1+f(1))
?Jawaban:
Jelly , 3 byte
Cobalah online!
Mengembalikan polinomial sebagai daftar koefisien.
Karena kita tahu polinomial memiliki koefisien bilangan bulat non-negatif, f (b) dapat diartikan sebagai "koefisien polinomial, diambil sebagai basis b digit," dengan definisi basis. Ini tunduk pada kondisi bahwa tidak ada koefisien yang melebihi atau sama dengan b , tetapi kita tahu bahwa, karena b adalah yang lebih besar dari jumlah koefisien (yaitu f (1) ).
Program hanya menambah argumen pertama (
‘
) untuk mendapatkan 1 + f (1) , kemudian memanggil atom konversi basis (b
) dengan argumen pertama sebagai basis dan argumen kedua sebagai nomor (menggunakan@
untuk menukar urutan argumen, karenab
biasanya mengambil nomor pertama dan basis kedua).Ini adalah tantangan yang cukup pintar; terima kasih orlp!
sumber
Mathematica,
2928 byteTerima kasih kepada JungHwan Min karena menghemat 1 byte! (ironisnya, dengan a
Max
)Fungsi murni mengambil dua bilangan bulat tidak negatif dan mengembalikan daftar koefisien (bilangan negatif).
#2~IntegerDigits~(#+1)
akan menjadi algoritma yang sama seperti pada jawaban Jelly Doorknob ; Sayangnya, MathematicaIntegerDigits
tersedak ketika basisnya sama dengan 1, karenanya perlu byte ekstraMax[...,2]
.sumber
Python 2 , 38 byte
Cobalah online!
menghasilkan koefisien yang dipisahkan baris baru
Contoh output untuk
30, 3904800
:=>
9*x^0 + 8*x^1 + 2*x^2 + 7*x^3 + 4*x^4
sumber
VBA, 75 byte
Ketika secara otomatis memformat, terlihat seperti ini:
The
\
operator adalah membagi lantaisumber
AHK , 63 byte
AutoHotkey memberikan angka 1-n sebagai nama variabel untuk parameter yang masuk. Ini menyebabkan beberapa masalah ketika Anda mencoba untuk menggunakan fungsi-fungsi tersebut karena menurut Anda maksud Anda adalah angka literal 1 daripada variabel bernama 1. Solusi terbaik yang dapat saya temukan adalah dengan menetapkannya ke variabel yang berbeda.
sumber
Java, 53 byte
Menghasilkan daftar koefisien. Berkat ovs untuk matematika.
Ekspresi harus ditetapkan ke
Function<Integer, IntConsumer>
dan dipanggil dengan terlebih dahuluapply
fungsi, laluaccept
ingint
. Tidak diperlukan impor dengan Java 9jshell
:sumber
Common Lisp, 87 byte
Tidak Terkumpul:
sumber
C #, 62 byte
sumber