Bilangan biquadratic adalah angka yang merupakan kekuatan keempat bilangan bulat lainnya, misalnya: 3^4 = 3*3*3*3 = 81
Diberikan bilangan bulat sebagai input, menghasilkan angka biquadratic terdekat.
Berikut adalah 15 kotak ganda pertama:
1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 14641, 20736, 28561, 38416, 50625
Ini adalah kode-golf sehingga byte paling sedikit di setiap bahasa menang
Ini adalah OEIS A000583
code-golf
sequence
number-theory
integer
Skidsdev
sumber
sumber
n^4
dann
berganti - ganti.2 x n²
nomor: 2, 8, 18, 32, 50, 72, 98, ...Jawaban:
Python 3 , 35 byte
Cobalah online!
Bagaimana itu bekerja
Nilai n di mana output beralih dari ( k - 1) 4 ke k 4 memenuhi √ (√n - 3/4) + 1/2 = k , atau n = ((k - 1/2) 2 + 3 / 4) 2 = ( k 2 - k + 1) 2 = (( k - 1) 4 + k 4 + 1) / 2, yang merupakan bilangan bulat pertama yang lebih dekat dengan k 4 .
(Berfungsi untuk semua n ≤ 4504699340341245 = (8192 4 + 8193 4 - 7) / 2> 2 52 , setelah itu pembulatan titik-mengambang mulai memecahkannya, meskipun bekerja secara matematis untuk semua n .)
sumber
round
jika Anda beralih ke Python 2 yang membulatkan semua .5.Oktaf , 35 byte
Tantangan ini membutuhkan pendekatan berbasis konvolusi.
Cobalah online!
Penjelasan
Ekspresi
(1:n).^4
menghasilkan vektor baris[1 16 81 256 ... n^4]
.Vektor ini kemudian digabungkan
[1 1]/2
, yang setara dengan menghitung rata-rata geser ukuran balok2
. Secara implisit ini mengasumsikan bahwa vektor berbantalan kiri dan kanan0
. Jadi nilai pertama dalam hasilnya adalah0.5
(rata-rata dari suatu implisit0
dan1
), yang kedua adalah8.5
(rata-rata dari1
dan16
), dll.Sebagai contoh, untuk
n = 9
hasilnyaconv((1:n).^4,[1 1]/2)
adalahPerbandingan
n>...
kemudian menghasilkandan melamar
sum(...)
memberi2
. Ini berarti bahwan
persis melebihi2
titik tengah antara angka biquadratic (termasuk titik tengah tambahan0.5
). Akhirnya,^4
angkat ini4
untuk menghasilkan hasilnya16
,.sumber
Haskell ,
5149 byteFungsi monad ftw!
Cobalah online!
Penjelasan:
sumber
MATL , 6 byte
Cobalah online!
Penjelasan
Pertimbangkan input
9
sebagai contoh.sumber
Neim , 5 byte
Penjelasan:
Cobalah online!
sumber
Excel, 25 byte
Excel memperbarui ini ke
=INT((A1^0.5-3/4)^0.5+0.5)^4
sumber
Excel.ActiveSheet
objek mengambilnya dari selA1
Mathematica, 21 byte
sumber
Brachylog , 9 byte
Cobalah online!
Penjelasan
sumber
JavaScript (ES7), 42 byte
Versi rekursif, 44 byte
Demo
Tampilkan cuplikan kode
sumber
Oktaf , 37 byte
Fungsi anonim yang menggunakan interpolasi tetangga terdekat.
Cobalah online!
sumber
conv
:(05AB1E , 6 byte
Cobalah online!
Penjelasan
sumber
APL, 22 byte
Cobalah online!
Bagaimana?
o←4*⍨⍳⍵
-o
= range (⍵
) 4 [vectorize]p←|⍵-⍨o
-p
= abs (o
-⍵
) [vectorize]o/⍨
- ambilo
elemen di indeks tempat ...p=⌊/p
-p
elemen minimumnya adalahsumber
Jelly , 6 byte
Tautan monadik yang mengembalikan daftar satu item, atau program lengkap yang mencetak hasilnya (menggunakan metode yang tidak efisien).
Cobalah online!
Bagaimana?
sumber
PHP , 33 byte
Cobalah online!
PHP , 56 byte
Cobalah online!
sumber
C ++, 96 byte
Versi lengkap:
LINK untuk mencoba
sumber
Haskell, 35 byte
Port of Anders 'Python3 menjawab .
sumber
R ,
47443735 byteCobalah online!
sumber
f=
) dan alih-alihx[which.min((x-n)^2)]
menggunakanwhich.min((x-n)^2)^4
, lalu memasukkanf=
ke tajuk tautan TIO untuk pengujian seperti di sini :)x
sama sekali. Terima kasih!n=scan();which.min(((1:n)^4-n)^2)^4
dan input masuk ke bagian footer di TIO.Pyth , 9 byte
Cobalah online!
Pyth , 17 byte
Program lengkap yang menggunakan pendekatan arithemtic yang sama seperti pada jawaban @ AndersKaseorg :
Cobalah online!
sumber
Japt , 20 byte
Ini terasa terlalu lama!
Menguji
sumber
QBIC , 38 byte
Penjelasan
sumber
Java (OpenJDK 8) , 64 byte
Cobalah online!
sumber
Gangguan Umum, 50 byte
Cobalah online!
sumber
C #, 95 byte
Kami menggunakan 940 sebagai nilai yang ditetapkan karena nilai yang lebih besar akan meluap int.
Versi Lengkap / Diformat:
sumber
Ruby ,
2334 byteSaya tidak tahu mengapa
0.75
angka ini sangat penting, tapi hei, apa pun yang berhasil.Cobalah online!
sumber