Dengan bilangan bulat positif n
, rancang busur derajat dengan jumlah tanda paling sedikit yang memungkinkan Anda mengukur semua sudut yang merupakan kelipatan integral 2π/n
(masing-masing dalam satu pengukuran tunggal).
Detail
Sebagai output, Anda dapat menampilkan daftar bilangan bulat dalam rentang 0
ke n-1
(atau 1
ke n
) yang mewakili posisi setiap tanda. Atau Anda dapat menampilkan string / daftar panjang n
dengan #
di posisi masing-masing tanda dan _
(garis bawah) di mana tidak ada. (Atau dua karakter berbeda jika lebih mudah.)
Contoh: Untuk n = 5
Anda membutuhkan tepat 3 tanda untuk dapat mengukur semua sudut 2π/5, 4π/5, 6π/5, 8π/5, 2π
dengan mengatur (misalnya) satu tanda pada 0
, satu tanda pada 2π/5
dan satu tanda pada 6π/5
. Kami dapat menyandikan ini sebagai daftar [0,1,3]
atau sebagai string ##_#_
.
Contohnya
Perhatikan bahwa output tidak harus unik.
n: output:
1 [0]
2 [0,1]
3 [0,1]
4 [0,1,2]
5 [0,1,2]
6 [0,1,3]
7 [0,1,3]
8 [0,1,2,4]
9 [0,1,3,4]
10 [0,1,3,6]
11 [0,1,3,8]
20 [0,1,2,3,6,10]
PS: Ini mirip dengan masalah penggaris jarang , tetapi alih-alih skala linier (dengan dua ujung) kami menganggap skala melingkar (sudut).
PPS: Skrip ini harus menghitung satu contoh dari serangkaian tanda untuk masing-masing n
. Cobalah online!
PPPS: Seperti yang ditunjukkan oleh @ngn, masalah ini setara dengan menemukan basis perbedaan minimal dari grup urutan siklik n
. Pesanan minimal tercantum di http://oeis.org/A283297 dan beberapa batasan teoretis ditemukan di https://arxiv.org/pdf/1702.02631.pdf