Latar belakang
Orang-orang berbicara faktorisasi utama dalam obrolan dan kami mendapati diri kami berbicara tentang pembayaran kembali. Repunits adalah himpunan bagian dari angka yang dikenal sebagai repdigits, yang merupakan angka yang hanya terdiri dari digit berulang, seperti 222
atau 4444444444444444
, tetapi hanya terdiri dari repunits 1
.
Oleh karena itu pasangan repunits pertama adalah 1
, 11
, 111
, dll ini disebut oleh R n , sehingga R 1 = 1
, R 2 = 11
, dll, dan dihasilkan oleh formula R(n) = (10^n - 1)/9
, dengan n > 0
.
Faktorisasi prima dari angka-angka ini mengikuti urutan A102380 dalam OEIS. Sebagai contoh:
R 1 = 1
R 2 = 11
R 3 = 111 = 3 * 37
R 4 = 1111 = 11 * 101
R 5 = 11111 = 41 * 271
R 6 = 111111 = 3 * 7 * 11 * 13 * 37
R 7 = 1111111 = 239 * 4649
...
Tantangan
Menulis sebuah program atau fungsi yang, ketika diberi masukan bilangan bulat n dengan n >= 2
melalui STDIN atau setara , output atau hasil yang baru faktor utama untuk R n , dalam format yang nyaman. "Faktor utama Novel" di sini berarti semua x
di mana x
merupakan faktor utama R n , namun x
bukan merupakan faktor utama untuk setiap sebelumnya R k , dengan 1 <= k < n
(yaitu, jika kita menulis faktor prima untuk semua R dalam urutan, kita sudah tidak melihat x
sebelum).
Contohnya
Input: 6
Output: 7, 13
(because 3, 11, and 37 are factors of a smaller R_k)
Input: 19
Output: 1111111111111111111
(because R_19 is prime, so no other factors)
Input: 24
Output: 99990001
(because 3, 7, 11, 13, 37, 73, 101, 137, 9901 are factors of a smaller R_k)
Input: 29
Output: 3191, 16763, 43037, 62003, 77843839397
(because no factors of R_29 are also factors of a smaller R_k)
Ekstra:
- Kode Anda dapat melakukan apa saja atau tidak sama sekali
n < 2
. - Anda dapat mengasumsikan "wajar" batas atas untuk
n
untuk pengujian dan pelaksanaan tujuan - kode Anda tidak akan diharapkan untuk output untukn = 10000000
, misalnya, tetapi algoritma Anda harus bekerja untuk kasus seperti jika diberi daya komputasi terbatas dan waktu. - Berikut adalah situs yang didedikasikan untuk faktorisasi gaji untuk referensi.
- Aku sudah tidak melalui matematika, tetapi saya mengusulkan hipotesis bahwa setiap n memiliki hasil yang berbeda untuk algoritma ini - yaitu, tidak ada n ada sehingga R n tidak memiliki faktor baru.
Saya akan menawarkan hadiah 250 poin jika seseorang membuktikan atau membantah hal itu dalam jawaban mereka.Thomas Kwa mengusulkan bukti yang elegan , dan aku menghadiahkan hadiah itu.