Ini adalah pertanyaan yang lumrah. Saya akan menentukan urutan dan Anda golf beberapa kode untuk menampilkan entri yang diberi indeks.
Item pertama dalam urutan adalah 2.
Item ke-n dalam urutan adalah bilangan bulat positif terkecil selain dari n dan 1 berbagi setidaknya satu faktor dengan n (selain 1) yang belum muncul dalam daftar.
Uji kasus
Berikut adalah 25 item pertama dalam urutan:
1 2
2 4
3 6
4 8
5 10
6 3
7 14
8 12
9 15
10 5
11 22
12 9
13 26
14 7
15 18
16 20
17 34
18 16
19 38
20 24
21 27
22 11
23 46
24 21
25 30
code-golf
number
sequence
permutations
Ad Hoc Garf Hunter
sumber
sumber
Python 3 ,
118117 byte-1 byte terima kasih kepada Cameron Aavik !
Cobalah online!
Kode ini sangat tidak efisien (itu brute-memaksa nilai yang tidak ada di hasil sebelumnya, dan menghitung hasil sebelumnya lagi pada setiap nilai baru), jadi itu berfungsi dengan baik tetapi saya tidak akan merekomendasikan menjalankannya dalam jumlah besar.
sumber
def f(n,i=3):
dan menghapusi=3
garisHaskell ,
6059 byteEDIT:
all(/=x)
lebih pendek darix`notElem`
.f
mengambil integer dan mengembalikan integer.Cobalah online!
Ini adalah waktu yang sangat eksponensial, jadi TIO keluar setelah 21, sementara GHCi yang saya interpretasikan mencapai 22 sebelum saya menghentikannya sekarang. Versi 9 byte yang lebih panjang ini menghafal ke dalam daftar dengan mudah naik ke ribuan:
Cobalah online!
f n
menggunakan pemahaman daftar untuk menghasilkan kandidatx
, mengambil yang lulus pertama dengan!!0
.gcd x n>1
memeriksa itux
dann
memiliki faktor umum.||n<2
dibebaskann==1
dari persyaratan faktor.all(/=x)$n:map f[1..n-1]
memeriksa yangx
bukann
merupakan elemen urutan sebelumnya.sumber
all(/=x)$
adalah 1 lebih pendek di sanaTidak ada built-in untuk GCD di C #, jadi ...
C # (.NET Core) ,
197 196194 byteCobalah online!
Sekali lagi, jangan menggunakan kode ini untuk menghitung angka dalam urutan untuk
n>30
...while
loop GCD untukfor
loop.sumber
a>0&b>0
dapata*b>0
APL (Dyalog) , 46 byte
Cobalah online!
sumber