Mari kita mendefinisikan f (n) sebagai jumlah aximal dari daerah yang diperoleh dengan menggabungkan n titik di sekitar lingkaran dengan garis lurus. Misalnya, dua titik akan membagi lingkaran menjadi dua bagian, tiga menjadi empat, seperti ini:
Pastikan ketika Anda menggambar garis, Anda tidak memiliki persimpangan lebih dari dua garis.
Tugas Anda
Diberi nomor n , cetak f (n) .
Kasus uji:
n | f(n)
---+-----
1 | 1
2 | 2
3 | 4
4 | 8
5 | 16
6 | 31
7 | 57
8 | 99
9 | 163
Anda dapat melihat lebih banyak di sini .
Menggunakan generator urutan bawaan tidak diperbolehkan.
Ingat, ini kode-golf, jadi kode dengan jumlah byte terkecil menang.
Jika kalian menginginkan formula, ini dia:
MATL , 7 byte
Cobalah online! Atau verifikasi semua kasus uji .
Penjelasan
Menggunakan rumus (dari OEIS): a ( n ) = C ( n −1, 4) + C ( n −1, 3) + ... + C ( n −1, 0)
sumber
Jelly , 6 byte
Cobalah online! atau verifikasi semua kasus uji .
Bagaimana itu bekerja
sumber
Java 7,
5047 byteMenggunakan formula (dari OEIS)
sumber
> <> ,
2726 + 3 = 29 byte3 byte ditambahkan untuk flag -v
Cobalah online!
Satu byte disimpan berkat Martin Ender .
sumber
R, 25 byte
scan()
mengambil masukann
dari stdin, yang diteruskan kechoose
bersama dengan0:2*2
. Istilah terakhir ini adalah0
untuk2
(yaitu[0, 1, 2]
) dikalikan dengan 2, yaitu[0, 2, 4]
. Sejakchoose
adalah Vectorized, ini menghitungn choose 0
,n choose 2
,n choose 4
, dan kembali mereka dalam daftar. Akhirnya,sum
kembalikan jumlah angka-angka ini, cukup mengejutkan.Saya tidak berpikir bahwa ini bisa bermain golf lebih jauh tetapi saya akan sangat senang terbukti salah!
sumber
dc, 21
Versi RPN dari jawaban @ Neil .
Hasil tes:
sumber
J, 9 byte
Menggunakan formula
C(n-1, 2) + C(n, 4) + n = C(n, 0) + C(n, 2) + C(n, 4)
.Pemakaian
Penjelasan
sumber
05AB1E , 6 byte
Cobalah online!
Penjelasan
Implementasi langsung dari formula OEIS
c(n,4) + c(n,2) + c(n,0)
sumber
Sebenarnya , 6 byte
Cobalah online!
Penjelasan:
sumber
Scala, 35 byte
Menggunakan rumus yang sama dengan jawaban java numberknot .
sumber
Oktaf , 27 byte
Ini adalah fungsi anonim.
Cobalah di Ideone .
Penjelasan
Ini didasarkan pada rumus OEIS a ( m ) = C ( m −1, 4) + C ( m −1, 3) + ... + C ( m −1, 0), di mana C adalah koefisien binomial. The fungsi distribusi binomial
untuk k = 4, n = m −1 dan p = 1/2 menghasilkan 2 m −1 a ( m ).
sumber
@(m)sum(binopdf(0:2:4,m,.5)*2^m)
TI-89 Basic, 57 Bytes
Kemunduran ke masa lalu.
sumber
)
yang terakhirnCr
?