Untitled
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