Untitled

 avatar
unknown
plain_text
a year ago
2.1 kB
7
Indexable
# Fungsi untuk memeriksa apakah suatu bilangan adalah bilangan prima
def is_prime(n):
    """
    Fungsi ini menerima sebuah bilangan bulat positif n dan mengembalikan
    True jika n adalah bilangan prima, dan False jika tidak.
    """
    # Jika bilangan kurang dari atau sama dengan 1, maka bukan bilangan prima
    if n <= 1:
        return False
    # Jika bilangan adalah 2 atau 3, maka bilangan tersebut adalah bilangan prima
    if n <= 3:
        return True
    # Jika bilangan habis dibagi oleh 2 atau 3, maka bukan bilangan prima
    if n % 2 == 0 or n % 3 == 0:
        return False
    # Memeriksa pembagian dengan bilangan dalam bentuk 6k ± 1 hingga akar dari n
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    # Jika tidak ada pembagi ditemukan, maka bilangan tersebut adalah bilangan prima
    return True

# Fungsi untuk mencari bilangan prima hingga batas tertentu
def greedy_prime_search(limit):
    """
    Fungsi ini menerima sebuah batas atas limit dan mencari semua bilangan prima
    yang lebih kecil dari limit. Kemudian, mengembalikan daftar bilangan prima tersebut.
    """
    primes = []  # Inisialisasi list kosong untuk menyimpan bilangan prima
    # Melakukan iterasi melalui bilangan dari 2 hingga (limit - 1)
    for num in range(2, limit):
        # Memeriksa apakah bilangan saat ini adalah bilangan prima menggunakan fungsi is_prime
        if is_prime(num):
            primes.append(num)  # Jika prima, tambahkan ke dalam list bilangan prima
    return primes  # Mengembalikan list bilangan prima

# Blok utama
if __name__ == "__main__":
    # Meminta pengguna untuk memasukkan batas atas pencarian bilangan prima
    limit = int(input("Masukkan batas atas untuk pencarian bilangan prima: "))
    # Memanggil fungsi greedy_prime_search dengan batas yang diberikan
    prime_numbers = greedy_prime_search(limit)
    # Mencetak bilangan prima yang ditemukan dalam rentang yang ditentukan
    print("Bilangan prima antara 2 dan", limit, "adalah:", prime_numbers)
Editor is loading...
Leave a Comment