Tampaknya banyak orang ingin memiliki ini, jadi sekarang sekuel tantangan ini !
Definisi : a kekuatan utama adalah nomor alami yang dapat dinyatakan dalam bentuk p n dimana p adalah prima dan n adalah nomor alam.
Tugas : Diberi kekuatan utama p n > 1, kembalikan kekuatan n.
Testcases :
input output
9 2
16 4
343 3
2687 1
59049 10
Penilaian : Ini adalah kode-golf . Jawabannya terpendek dalam byte menang.
code-golf
number
arithmetic
primes
bocor Nun
sumber
sumber
Jawaban:
05AB1E , 2 byte
Cobalah online!
sumber
Ò
Daftar Push faktor prima (dengan duplikat) dang
: Panjang push .Python 3 , 49 byte
Cobalah online!
Output
True
bukan 1 ( sebagaimana diizinkan oleh OP ). Fungsi rekursif yang berulang kali menemukan faktor terendah dan kemudian memanggil fungsi lagi dengan kekuatan terendah berikutnya hingga mencapai 1. Ini adalah perpanjangan dari jawaban saya untuk pertanyaan sebelumnya.sumber
Pyth, 2
Menghitung faktor utama:
Tes online .
sumber
Python 2 , 37 bytes
Cobalah online!
Hitungan faktor. Rupanya saya menulis golf yang sama pada tahun 2015.
Sempit mengalahkan non-rekursif
Python 2 , 38 byte
Cobalah online!
sumber
Bash + GNU utilitas, 22
Cobalah online!
sumber
factor|sed s/\ //|wc -w
bekerja?factor|tr -cd \ |wc -c
?dc ,
5041 byteCobalah online!
Mengambil input dari atas tumpukan (di TIO, menempatkan input di header untuk load-nya ke stack sebelum eksekusi). Output ke stdout.
Penjelasan
Register digunakan:
i
: pembagi uji coba saat ini, saatX
sedang berjalan. Kemudian, pembagi kami temukan.X
: Makrodli1+dsi%0<X
, yang memiliki efek "kenaikani
, kemudian memeriksa modulus dengan nilai pada stack (yang akan menjadi input asli) Jika tidak nol, ulangi.".Y
: makrodli/dli<Y
, yang memiliki efek "Tambahkan ke tumpukan salinan bagian atas tumpukan saat ini, dibagi dengani
. Ulangi sampaii
tercapai."Program lengkap:
sumber
wajah , 86 byte
Hore, lebih lama dari Jawa!
Cobalah online!
Saya sangat menyukai trik menggunakan nilai pengembalian
sscanf
. Biasanya nilai kembali akan dibuang, tapi di sini akan selalu menjadi 1, karena kami selalu membaca nomor tunggal sebagai input. Kita dapat mengambil keuntungan dari ini dengan menetapkan nilai kembalinya ke variabel1
, menyimpan 2 byte yang seharusnya diperlukan untuk menetapkan1
1 secara eksplisit.sumber
Poliglot Attache and Wolfram Language (Mathematica) , 10 byte
Coba atur online! Coba Mathematica online!
Cukup builtin untuk menghitung jumlah faktor utama yang dimiliki N.
Penjelasan
Sejak N = p k , Ω ( N ) = Ω ( p k ) = k , hasil yang diinginkan.
sumber
Java 8, 59 bytes
Sebuah lambda dari
int
keint
.Cobalah online
sumber
J, 4 byte
q:
memberikan daftar faktor prima,#
memberikan panjang daftar.Cobalah online!
sumber
R , 37 bytes
Cobalah online!
sumber
sum(x|1)
hampir selalu lebih pendek darilength(x)
Stax ,43 byte
Jalankan dan debug itu
Panjang faktorisasi utama.
sumber
MATL , 3 byte
Cobalah online!
Penjelasan:
sumber
Jelly ,
32 byteCobalah online!
sumber
Spasi, 141 byte
Huruf
S
(spasi),T
(tab), danN
(baris baru) ditambahkan hanya sebagai penyorotan.[..._some_action]
ditambahkan sebagai penjelasan saja.Cobalah online (dengan spasi, tab, dan baris baru saja).
Penjelasan dalam pseudo-code:
Contoh dijalankan:
input = 9
Program berhenti dengan kesalahan: Tidak ditemukan jalan keluar.
sumber
Brachylog , 2 byte
Cobalah online!
Penjelasan
sumber
Python 2 , 62 bytes
Cobalah online!
Tidak ada yang mewah di sini.
sumber
Japt , 3 byte
Cobalah online!
Penjelasan:
sumber
Sebenarnya , 2 byte
Cobalah online!
sumber
Haskell , 27 byte
Cobalah online!
Menghitung faktor. Membandingkan:
Haskell , 28 byte
Cobalah online!
Haskell , 28 byte
Cobalah online!
Haskell , 30 byte
Cobalah online!
sumber
Oktaf , 18 byte
Cobalah online!
Lakukan apa yang tertulis di kaleng: Jumlah elemen yang tidak nol dalam faktorisasi utama input.
sumber
Cjam, 5 byte
Cobalah secara Online!
Penjelasan:
Builtin hebat!
sumber
rimf,
(program penuh) dan{mf,}
(fungsi) akan valid.QBasic, 51 byte
Gunakan algoritme yang sama dengan solusi "Pulihkan yang utama" untuk menemukan pangkalan, kemudian gunakan aturan logaritma untuk mendapatkan eksponen:l o g( haln) = N ⋅ l o g( p ) .
sumber
Gaia , 2 byte
Cobalah online!
sumber
JavaScript (ES6), 37 byte
Cobalah online!
sumber
Perl 6 , 36 byte
Mencari faktor pertama
(2..*).first: $_%%*
, lalu dari sana menghitung nilai perkiraan (log tidak akan membuatnya tepat) dan membulatkannya.Cobalah online!
sumber
Pari / GP , 8 byte
Cobalah online!
Pari / GP , 14 byte
Cobalah online!
sumber
Racket , 31 byte
Cobalah online!
sumber
Perl 6 , 18 byte
Cobalah online!
Blok kode anonim yang mendapat daftar faktor dan memaksanya ke nomor.
sumber
JavaScript (Node.js) , 29 byte
Cobalah online! Catatan: Stack overflows untuk input yang lebih besar.
sumber