Mari kita tentukan urutan akar kuadrat integer. Pertama, (1) = 1. Kemudian, (n) adalah yang terkecil bilangan bulat positif tidak terlihat sebelumnya sehingga
sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1)))))
adalah bilangan bulat. Beberapa contoh:
a (2) adalah 3 karena itu adalah bilangan bulat terkecil sehingga sqrt(a(2) + sqrt(a(1))) = sqrt(a(2) + 1)
bilangan bulat, dan 3 belum terjadi dalam urutan sebelumnya.
a (3) adalah 2 karena bilangan bulat terkecil seperti itu sqrt(a(3) + sqrt(a(2) + sqrt(a(1)))) = sqrt(a(3) + 2)
adalah bilangan bulat, dan 2 belum terjadi dalam urutan sebelumnya.
a (4) adalah 7 karena sqrt(a(4) + 2)
bilangan bulat. Kami tidak dapat memiliki (4) = 2 karena 2 sudah terjadi dalam urutan kami.
Tulis program atau fungsi yang memberikan parameter n mengembalikan urutan angka a (1) ke a (n).
Urutan mulai 1,3,2,7,6,13,5, ....
Sumber urutan ini dari pertanyaan Math.SE ini .
Sebidang 1000 elemen pertama dalam urutan:
Jawaban:
Python 2 , 80 byte
Cobalah online!
sumber
Haskell ,
10387 byteSangat tidak efisien, tetapi tidak mengandalkan aritmatika floating point. Berikut
a(x) = sqrt(f(x)+a(x-1))
ini adalah urutan pembantu, yang menyederhanakan perhitungan.Cobalah online!
sumber
Python 2 , 87 byte
Cobalah online!
-3 Terima kasih kepada Tn . Xcoder .
-5 Terima kasih untuk OVs .
sumber
while n in s or(t+n)**.5%1>0
->while(n in s)+(t+n)**.5%1
MATL ,
3027 byteCobalah online! Atau lihat tampilan grafis (butuh beberapa saat; waktu habis untuk input yang melebihi perkiraan
60
).Penjelasan
sumber
Mathematica, 104 byte
Cobalah online!
Urutan akar kuadrat juga sangat menarik ...
dan menghasilkan pola yang sama
juga di sini adalah perbedaan dari urutan utama
sumber
Python 2 ,
1171151121029987 byteCobalah online!
Menggunakan
t=(t+x)**.5
logika dari jawaban Eriksumber
JavaScript (ES7),
89827776 byteDemo
Tampilkan cuplikan kode
Diformat dan dikomentari
sumber
R ,
13810599 byteCobalah online!
-33 byte menggunakan trik pintar Tfeld
sqrt()%%1
di loop sementara-6 byte menggunakan T bukan F
jawaban asli, 138 byte:
Cobalah online!
sumber
Sekam , 21 byte
Cobalah online!
Bagaimana?
sumber