Mengingat dua bilangan bulat positif A dan B , mengembalikan posisi p yang meminimalkan jumlah faktor prima (penghitungan multiplicities) integer yang dihasilkan, ketika B adalah dimasukkan dalam A di p .
Misalnya, mengingat A = 1234 dan B = 32 , ini adalah kemungkinan penyisipan (dengan p diindeks 0) dan informasi terkait tentang faktor utama mereka:
p | Hasil | Faktor prima | Ω (N) / Hitung 0 | 321234 | [2, 3, 37, 1447] | 4 1 | 132234 | [2, 3, 22039] | 3 2 | 123234 | [2, 3, 19, 23, 47] | 5 3 | 123324 | [2, 2, 3, 43, 239] | 5 4 | 123432 | [2, 2, 2, 3, 37, 139] | 6
Anda dapat melihat bahwa hasilnya memiliki jumlah minimal faktor prima, 3, ketika p adalah 1. Jadi dalam kasus khusus ini, Anda harus menghasilkan 1 .
Spesifikasi
Jika ada beberapa posisi p yang meminimalkan hasil, Anda dapat memilih untuk mengeluarkan semuanya atau salah satunya.
Anda dapat memilih 0-indexing atau 1-indexing untuk p , tetapi pilihan ini harus konsisten.
A dan B dapat diambil sebagai bilangan bulat, string atau daftar digit.
Anda dapat bersaing dalam bahasa pemrograman apa pun dan dapat mengambil input dan memberikan output melalui metode standar apa pun , sambil memperhatikan bahwa celah ini dilarang secara default. Ini adalah kode-golf, jadi pengajuan terpendek (skor dalam byte) menang!
Uji kasus
A, B -> p (0-diindeks) / p (1-diindeks) 1234, 32 -> 1/2 3456, 3 -> 4/5 378, 1824 -> 0/1 1824, 378 -> 4/5 67, 267 -> Setiap atau semua di antara: [1, 2] / [2, 3] 435, 1 -> Setiap atau semua di antara: [1, 2, 3] / [2, 3, 4] 378100, 1878980901 -> Setiap atau semua di antara: [5, 6] / [6, 7]
Untuk kenyamanan, berikut adalah daftar tupel yang mewakili setiap pasangan input:
[(1234, 32), (3456, 3), (378, 1824), (1824, 378), (67, 267), (435, 1), (378100, 1878980901)]
sumber
132234
bukan1
.Jawaban:
Sekam , 16 byte
Harapkan input sebagai string, coba online!
Penjelasan
sumber
MATL , 25 byte
Input adalah string dalam urutan terbalik. Output berbasis 1. Jika ada ikatan, posisi terendah adalah keluaran.
Cobalah online! Atau verifikasi semua kasus uji .
Penjelasan
sumber
Pyth,
201311 byteCobalah online
Penjelasan
sumber
Jelly , 21 byte
Cobalah online!
-1 terima kasih kepada Tn . Xcoder .
Mengembalikan semua posisi yang memungkinkan.
sumber
Japt ,
2221 byteIni terasa terlalu lama ketika saya menulisnya tetapi, melihat beberapa solusi lain, itu sebenarnya tampak agak kompetitif. Namun, mungkin ada sedikit ruang untuk perbaikan - Secara
cNq)
khusus mengganggu saya. Penjelasan untuk diikuti.Mengambil input pertama sebagai string dan yang kedua sebagai integer atau string. Hasilnya adalah 0-diindeks dan akan mengembalikan indeks pertama jika ada beberapa solusi.
Cobalah
Penjelasan
sumber
PowerShell , 228 byte
Cobalah online!
(Sepertinya saran panjang / golf diterima. Juga keluar pada TIO untuk kasus uji terakhir, tetapi algoritme harus berfungsi untuk kasus itu tanpa masalah.)
PowerShell tidak memiliki built-in faktorisasi utama, jadi ini meminjam kode dari jawaban saya pada Prime Factors Buddies . Itu
function
deklarasi baris pertama .Kami mengambil input
$a,$b
dan kemudian menetapkan$p
hashtable kosong. Selanjutnya kita ambil string$b$a
, mengubahnya menjadi array tunggal dengan koma-operator,
, dan array-menyatukannya dengan barang . Barang - barang adalah loop through$a
, memasukkan$b
di setiap titik, akhirnya array-concatenated with$a$b
.Pada titik ini, kami memiliki array yang
$b
disisipkan di setiap titik di$a
. Kami kemudian mengirim array melalui loop untuk|%{...}
. Setiap iterasi, kita masukkan ke hashtable kami di posisi$i++
yang.count
berapa faktor utamaf
yang elemen tertentu$_
memiliki.Akhirnya, kita
sort
hashtable berdasarkanvalue
s, ambil yang hashtable0
-nya, dan pilihName
(yaitu,$i
indeks). Yang tersisa pada pipa dan output tersirat.sumber
05AB1E , 18 byte
Cobalah online!
sumber
05AB1E ,
2721 byteCobalah online!
Ini mengembalikan p -indexed 0 terendah .
Berkat @ Enigma untuk -6 byte!
Penjelasan
sumber
ηõ¸ì¹.sRõ¸«)øεIýÒg}Wk
.Bersih ,
165... 154 byteCobalah online!
sumber
Python 2 ,
165146 byteCobalah online!
sumber
JavaScript (ES6), 120 byte
Mengambil input sebagai 2 string. Mengembalikan posisi 0-diindeks.
Uji kasus
Tampilkan cuplikan kode
sumber
J, 60 Bytes
Pasangan angka eksplisit. Mengambil B di kanan, A di kiri.
Output terindeks 0.
Mungkin dimungkinkan untuk meningkatkan dengan tidak menggunakan kotak.
Penjelasan:
sumber
Python 3, 128 byte
0-diindeks; mengambil string sebagai parameter. -6 byte terima kasih kepada Jonathan Frech.
sumber
:\n a
->:a
.Python, 122 byte
Dalam praktiknya, ini melampaui kedalaman rekursi maksimum default dengan cukup cepat.
sumber