MATL , 25 byte
Ini berfungsi untuk input hingga 16
:
10,i:^9/Y[t0)Yftb!w\~s1=)
Versi berikut menggunakan 31 byte dan berfungsi hingga 18
. Untuk 19
itu membutuhkan sekitar 4 GB memori (saya belum bisa menjalankannya).
10,i:^9/Y[t0)5X2Y%Yfotb!w\~s1=)
Contoh
>> matl
> 10,i:^1-,9/t0)5X2Y%Yfotb!w\~s1=)
>
> 6
7 13
Penjelasan
Pertimbangkan untuk masukan konkret 6
. Pertama, pembagi utama dari 111111
dihitung; dalam hal ini hasilnya 3
, 7
, 11
, 13
, 37
. Maka operasi modulo (divisi sisa) dihitung untuk semua kombinasi angka 1
, 11
, ... 111111
dan pembagi dihitung. Ini mengeksploitasi ekspansi tunggal implisit MATL. Hasilnya adalah dalam kasus ini 6
x 5
matriks, dengan masing-masing kolom sesuai dengan salah satu pembagi. Pembagi yang diterima (kolom) adalah yang hanya 1
bernilai (yaitu yang terakhir) yang memberikan sisa nol.
10,i:^9/Y[ % generate vector with `1`, `11`, ... depending on input number, say "n"
t0) % pick the last element: `111...1` (n ones)
5X2Y% % * convert to uint64, so that larger numbers can be handled
Yf % prime factors
o % * convert to double precision, so that modulus can be done
t % duplicate
b % bubble up element in stack
! % transpose
w % swap elements in stack
\ % modulus after division (element-wise, singleton expansion)
~s % number of zero values in each column
1= % is equal to 1? (element-wise, singleton expansion)
) % index divisors with that logical index
(*) Dihapus dalam versi pendek
Luis Mendo
sumber
sumber
Jawaban:
Julia, 103 byte
Ini adalah fungsi tanpa nama yang memanggil fungsi pembantu
R
. Untuk memanggilnya, beri nama fungsi utama, misalnyaf=n->...
.Tidak Terkumpul:
sumber
LabVIEW, 33 LabVIEW Primitif
19 membutuhkan selamanya ...
Bekerja dengan menyimpan semua Primes dan menghapus elemen dari set terakhir ketika mereka ditemukan di array lain.
sumber
J, 24 byte
Mengharapkan angka-angka presisi-diperpanjang setelah 6 (misalnya
19x
bukannya19
)Cobalah online!
Mungkin ada cara yang lebih pendek untuk menghasilkan imbalan yang menghindari batasan juga.
Penjelasan
Cara kerjanya, secara visual
Saya pikir penjelasan visual semacam ini lebih mudah diterima oleh mereka yang tidak tahu J. Ini adalah hasil dari REPL.
sumber