The Fibonacci urutan adalah hal yang cukup dikenal di sini. Heck, itu bahkan memiliki tag sendiri. Namun, untuk semua itu, kami yakin ingin tetap berpegang pada akar 1, 1, ...
(atau apakah itu 0, 1, ...
? Kita mungkin tidak pernah tahu ...). Dalam tantangan ini, aturannya sama, tetapi alih-alih mendapatkan n
item ke-5 dalam urutan Fibonacci, Anda akan mendapatkan n
item ke-5 dalam urutan Fibonacci-esque yang dimulai dengan x, y, ...
.
Memasukkan
Tiga bilangan bulat, dalam urutan apa pun yang Anda inginkan. n
adalah indeks (0 atau 1 diindeks) dari istilah dalam urutan untuk output Anda. x
dan y
merupakan dua item pertama dalam urutan Fibonacci yang dijalankan oleh program Anda saat ini.
Keluaran
The n
Istilah th dalam urutan Fibonacci dimulai dengan x
, y
.
Uji Kasus
(Diindeks 0)
n x y out
5 0 0 0
6 0 1 8
6 1 1 13
2 5 5 10
10 2 2 178
3 3 10 23
13 2308 4261 1325165
0 0 1 0
1 0 1 1
(1-diindeks)
n x y out
6 0 0 0
7 0 1 8
7 1 1 13
3 5 5 10
11 2 2 178
4 3 10 23
14 2308 4261 1325165
1 0 1 0
2 0 1 1
Peringatan
Asumsikan 0 <= x <= y
.
Harap perhatikan pesanan input Anda (harus konstan).
[1, 2, 3]
? Iya nih. Apa pun yang Anda butuhkan untuk menerima 3 bilangan bulat.n,[x,y]
manan
angka danx
dany
apakah angka dalam daftar? Itu mungkin agak terlalu fleksibel;)Jawaban:
Jelly , 3 byte
Mengambil x , y , dan n (0-diindeks) sebagai argumen baris perintah yang terpisah, dalam urutan itu.
Cobalah online!
Bagaimana itu bekerja
sumber
CJam ,
149 byteCobalah online!
Format input adalah "xy n". Saya masih noob dalam hal ini, jadi saya 100% yakin ada cara yang lebih baik untuk melakukan ini, tapi tolong daripada mengatakan kepada saya "lakukan ini" cobalah untuk hanya memberi saya petunjuk sehingga saya dapat menemukan jawabannya sendiri dan mendapatkan lebih baik. Terima kasih!
sumber
ririri
dapat disingkat menjadi 2 byte.fI
dapat disingkat menjadi 1 byte.Python 2 , 37 byte
Cobalah online!
Diindeks 0, Anda mungkin perlu menyesuaikan batas rekursi
n≥999
sumber
JavaScript (ES6),
2726 byteTidak ada yang mewah di sini, hanya fungsi JS Fibonacci standar dengan nilai awal 0 & 1 dihapus.
Cobalah
sumber
Python 2, 40 byte
Diindeks 0
Cobalah secara online
sumber
Haskell , 30 byte
Cobalah online! Diindeks 0. Gunakan sebagai
(x#y)n
, misalnya(0#1)5
untuk elemen kelima dari urutan asli.Cara terpendek yang paling mungkin untuk mendapatkan urutan Fibonacci di Haskell adalah
f=0:scanl(+)1f
, yang mendefinisikan daftar tak terbatas yangf=[0,1,1,2,3,5,8,...]
berisi urutan. Mengganti0
dan1
dengan argumenx
dany
menghasilkan urutan khusus.(f!!)
kemudian fungsi mengembalikan elemen ke - n darif
.sumber
Mathematica, 36 byte
memasukkan
sumber
##2
bukan#2,#3
.PowerShell , 40 byte
Cobalah online!
sumber
Brain-Flak , 38 byte
Cobalah online!
sumber
Ruby, 27 byte
sumber
Jelly , 6 byte
Cobalah online!
Penjelasan
sumber
TAESGL , 4 byte
1-diindeks
Penerjemah
Penjelasan
Input diambil sebagai
n,[x,y]
sumber
Prolog (SWI) , 77 byte
Cobalah online!
Mulai bermain golf jawaban Leaky Nun dan tiba di sesuatu yang sama sekali berbeda.
Yang ini memiliki aturan
(Nᵗʰ, (N+1)ᵗʰ)
dalam hal((N-1)ᵗʰ, Nᵗʰ)
dan menggunakan manajemen database untuk menyatakan elemen 0ᵗʰ dan 1ˢᵗ pada saat runtime.f(N,X,Y)
berartiNᵗʰ
elemenX
dan(N+1)ᵗʰ
elemenY
.sumber
Oktaf , 24 byte
Format input:
n,[x,y]
.Cobalah online!
sumber
Braingolf , 15 byte
_;
tidak lagi diperlukan pada versi terbaru Braingolf, namun itu pada ~ 5 menit yang lalu, jadi tidak akan bersaing.sumber
Python 2 , 112 byte
1-diindeks.
Cobalah online!
sumber
MATL , 7 byte
Output berbasis 0.
Cobalah di MATL Online!
Penjelasan
Biarkan input dinotasikan
n
(indeks)a
,,b
(istilah awal).sumber
R, 39 byte
Fungsi rekursif sederhana. Lucunya ini lebih pendek dari apa pun yang dapat saya buat untuk urutan Fibonacci reguler (tanpa built-in), karena ini tidak harus menetapkan
1
keduanyax
dany
= PMenghitung
n+1
angka urutan, termasuk nilai awal. Setiap rekursi dihitung dengann-1
dan dihentikan kapann==0
. Yang terendah dari kedua angka tersebut kemudian dikembalikan, memberikan kembali nilain
-th.sumber
dc , 36 byte
Cobalah online!
0
-indeks Masukan harus dalam formatn x y
.sumber
PHP> = 7.1, 55 Bytes
Versi Online
PHP> = 7.1, 73 Bytes
Versi Online
sumber
$y=+$x+$x=$y
. Juga, Anda dapat menggunakan hanya$n--
sebagai gantinya$i++<$n
.Common Lisp, 49 Bytes, 0-diindeks
Saya seorang Lisp noob sehingga tips apa pun akan dihargai;)
Penjelasan:
sumber
Prolog (SWI) , 85 byte
Cobalah online!
Diindeks 0.
sumber
br ** nfuck,
3929 byteTerima kasih kepada @JoKing untuk -10!
TIO tidak akan bekerja dengan baik untuk ini (atau untuk solusi BF untuk masalah yang melibatkan angka). Saya sangat menyarankan EsotericIDE @ Timwi (atau menerapkan BF sendiri).
Dibutuhkan
x
, laluy
, kemudiann
. Diindeks 0. Mengasumsikan pita tanpa batas atau pembungkus.Penjelasan
sumber
-1
-indexing".>
ke akhir atau tukar pesanan x dan yC (gcc) , 29 byte
Cobalah online!
Implementasi ini berbasis 0.
sumber
05AB1E , 9 byte
Cobalah online!
Penjelasan
sumber
Lua , 44 byte
Diindeks 0
Cobalah online!
sumber
Klein , 18 + 3 byte
Ini menggunakan
000
topologiMasukkan input dalam formulir
x y n
.sumber
Aksioma,
8857 byteini akan lulus tes yang diusulkan (0 diindeks)
sumber
Retina , 37 byte
Cobalah online!
Berbasis 0,
x y n
dipisahkan oleh ruang. Menghitung dalam unary.sumber
TI-Basic, 32 byte
sumber