Python: Bilangan Semiprima

Tulisan hari ini akan membahas mengenai ‘Python: Bilangan Semiprima’.

Semiprime atau biasa disebut bilangan semiprima atau biprime atau bilangan p*q adalah bilangan asli (N) yang merupakan produk dari dua bilangan prima [1].

Untuk interval 1-100 maka bilangan semiprimanya [2]:

4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95

Dari definisi diatas bilangan semiprima adalah bilangan yang tidak mempunyai faktor komposit lain dari bilangannya sendiri. Sebagai contoh adalah angka 26 yang hanya memiliki faktor 1, 2, 13, dan 26.

Hmm masih bingung? Mari implementasikan dengan Python.

# GLOBAL AUTHOR src{https://rosettacode.org/wiki/Semiprime#Python}

from prime_decomposition import *
 
def semiprime(n):
    d = decompose(n)
    try:
        return next(d) * next(d) == n
    except:
        return False

if __name__ == '__main__':
	print semiprime(26)
	print [n for n in range(1,96) if semiprime(n)]

	'''
	Hasil:
	True
	[4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95]
	'''

Hmm, Gurih… 😀

[1] https://en.wikipedia.org/wiki/Semiprime
[2] https://oeis.org/A001358
[3] https://rosettacode.org/wiki/Semiprime#Python

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s