Untuk bilangan bulat positifn
dengan faktorisasi prima di n = p1^e1 * p2^e2 * ... pk^ek
mana p1,...,pk
bilangan prima dan e1,...,ek
bilangan bulat positif, kita dapat mendefinisikan dua fungsi:
Ω(n) = e1+e2+...+ek
jumlah pembagi utama (dihitung dengan multiplisitas) ( A001222 )ω(n) = k
jumlah pembagi utama yang berbeda. ( A001221 )
Dengan dua fungsi tersebut kami mendefinisikan kelebihan e(n) = Ω(n) - ω(n)
( A046660 ). Ini dapat dianggap sebagai ukuran seberapa dekat suatu angka dengan squarefree.
Tantangan
Untuk bilangan bulat positif yang diberikan n
kembali e(n)
.
Contohnya
Karena n = 12 = 2^2 * 3
kita memiliki Ω(12) = 2+1
dan ω(12) = 2
dan karenanya e(12) = Ω(12) - ω(12) = 1
. Untuk nomor bebas pulsa apa pun yang n
kami miliki e(n) = 0
. Beberapa istilah pertama adalah
1 0
2 0
3 0
4 1
5 0
6 0
7 0
8 2
9 1
10 0
11 0
12 1
13 0
14 0
15 0
^
itu kekuatanJawaban:
MATL ,
75 byteCobalah online! Atau verifikasi semua kasus uji .
Penjelasan
sumber
factor
kerjanya di MATL, really cool =)YF
(dalam versi kode 7-byte) atauYf
(5-byte)? Yang terakhir adalah seperti di MATLABBrachylog , 11 byte
Cobalah online!
Penjelasan
sumber
Mathematica, 23 byte
Sangat membosankan.
FactorInteger
sudah memakan 13 byte, dan saya tidak bisa melihat banyak yang bisa dilakukan dengan 10 sisanya.sumber
Jelly , 5 byte
Cobalah online!
Verifikasi semua testcases.
Jawaban Port of Luis Mendo di MATL .
sumber
ÆF’SṪ
akan bekerja saya pikir¬
saya bingung. Saya tidak tahu itu vektor05AB1E , 6 byte
Penjelasan
Cobalah online!
sumber
J,
1110 byteDisimpan 1 byte berkat Jonah .
sumber
1#.1-~:@q:
selama 10 byte. ide bagus menggunakan~:
btw.Pyth, 7 byte
Cobalah online.
sumber
C, 74 byte
Ide itu!
sumber
Python 2,
5756 byteTerima kasih kepada @JonathanAllan untuk bermain golf 1 byte!
Uji di Ideone .
sumber
n/k%k<1
Haskell, 65 byte
sumber
05AB1E , 4 byte
Pelabuhan @LuisMendo 's MATL jawabannya .
Cobalah secara online atau verifikasi 15 kasus uji pertama .
Penjelasan:
sumber
Python 2,
100999896 byteSebagian besar kode diambil oleh versi golf dari jawaban SO ini , yang menyimpan faktor utama input
f
. Kemudian kita cukup menggunakan set manipulasi untuk menghitung faktor berlebih.Terima kasih kepada Leaky Nun karena telah menghemat
13 byte!sumber
Brachylog , 11 byte
Cobalah online!
Verifikasi semua testcases. (Pembungkus lebih panjang dari fungsinya ...)
sumber
SILOS , 113 byte
Cobalah online!
Sebuah port dari saya jawaban di C .
sumber
Javascript (ES6),
535146 byteDisimpan 5 byte berkat Neil
Contoh:
sumber
r
rekursif:f=(n,i=2)=>i<n?n%i?f(n,i+1):f(n/=i,i)+!(n%i):0
.Bash, 77 byte
Program lengkap, dengan input
$1
dan output ke stdout.Kami
IFS
akan mulai dengan baris baru, sehingga ekspansi"${f[*]}"
dipisahkan baris baru. Kami menggunakan substitusi aritmatika untuk mencetak perbedaan antara jumlah kata dalam factorisation dengan hasil penyaringanuniq
. Angka itu sendiri dicetak sebagai awalan olehfactor
, tetapi juga ada setelah pemfilteran, jadi keluar dalam pengurangan.sumber
Python, (dengan sympy) 66 byte
sympy.factorint
mengembalikan kamus dengan faktor sebagai kunci dan kelipatannya sebagai nilai, sehingga jumlah nilaiΩ(n)
dan jumlah nilaiω(n)
, sehingga jumlah nilai yang dikurangi adalah yang kita inginkan.sumber
CJam, 11 byte
Cobalah online!
Penjelasan
sumber
C, 158
Pada awalnya ada instruksi goto ... bahkan jika ini lebih panjang dari milikmu itu lebih mudah dibaca dan benar [jika saya tidak menganggap n terlalu besar ...] satu Bahasa yang memiliki fungsi perpustakaan 10.000 lebih dingin daripada Bahasa bahwa dengan sedikit, 20 atau 30 fungsi perpustakaan dapat melakukan semuanya dengan lebih baik [karena kita tidak dapat mengingat semua fungsi ini]
sumber
GNU sed + coreutils, 55 byte
(termasuk +1 untuk
-r
bendera)Masukan dalam desimal, pada stdin; output di unary, di stdout.
Penjelasan
sumber
APL (NARS) 35 karakter, 70 byte
fungsi π menemukan faktorisasi dalam pokok argumennya; ada beberapa yang mengatakan itu tampak jelas, tetapi bagi saya melakukan lebih banyak operasi (dari faktorisasi) daripada minimum ... kisaran karakter hitung keluar bahasa golf karena tampaknya terlalu banyak menghitung, tetapi kurang daripada tidak golf bahasa ... uji:
sumber