bilangan prima selalu memiliki daya tarik bagi ahli matematika dan non-matematika. Bilangan prima adalah bilangan bulat yang lebih besar dari 1 dan tidak mempunyai pembagi selain 1 dan bilangan itu sendiri. Proses menentukan suatu bilangan prima atau bukan merupakan masalah umum dalam pemrograman dan perhitungan matematis. Pada artikel ini, kita akan fokus pada fungsinya adalah Perdana dalam C++ yang digunakan untuk menentukan apakah suatu bilangan prima atau bukan.
The adalah Perdana fungsi memiliki logika yang lugas. Ia menerima bilangan bulat sebagai parameter dan memeriksa apakah bilangan tersebut memiliki pembagi selain 1 dan dirinya sendiri. Hal ini dilakukan dengan mencoba membagi bilangan tersebut dengan semua bilangan bulat yang kurang dari bilangan tersebut dan lebih besar dari 1. Jika bilangan tersebut menemukan pembagi lain, bilangan tersebut menghasilkan nilai salah, yang menunjukkan bahwa bilangan tersebut bukan bilangan prima. Jika tidak ada pembagi yang ditemukan, maka hasilnya benar, yang menunjukkan bahwa bilangan tersebut adalah bilangan prima.
Kode C++ untuk fungsinya di bawah ini:
bool isPrime(int n) {
jika (n <= 1) { kembali salah; } untuk (int i = 2; i < n; i++) { jika (n % i == 0) { return false; } } mengembalikan nilai benar; } [/kode]
Penjelasan Solusi
Baris pertama dari fungsi tersebut memeriksa apakah bilangan masukan n lebih kecil atau sama dengan 1. Jika ya, maka akan langsung menghasilkan false karena menurut definisi bilangan prima harus lebih besar dari 1.
Fungsi tersebut kemudian mengeksekusi perulangan for dengan variabel perulangan i berkisar dari 2 hingga n-1. Pada setiap iterasi, fungsi memeriksa apakah n habis dibagi i menggunakan operasi modulus. Operasi 'n % i' mengembalikan sisa pembagian n dengan i. Jika ia mengembalikan 0 pada titik mana pun, ini berarti n habis dibagi i, dan karenanya n bukan bilangan prima. Pada titik ini, fungsi tersebut segera mengembalikan false.
Perpustakaan dan Fungsi yang Terlibat dalam Penghitungan Bilangan Prima
Sementara adalah Perdana fungsi tidak memerlukan pustaka khusus untuk berfungsi, fungsi dan konsep matematika lainnya di C++ mungkin berguna untuk pengujian primalitas yang lebih kompleks atau masalah teori bilangan lainnya.
Perpustakaan Standar C++:
- Perpustakaan cmath: memiliki beberapa fungsi yang berguna untuk perhitungan matematis seperti pangkat, akar kuadrat, dll. yang dapat membantu dalam operasi yang berhubungan dengan bilangan prima.
- Perpustakaan batas: membantu dalam menangani bilangan terbesar atau terkecil yang dapat disimpan dalam variabel bilangan bulat yang dapat berguna saat menangani bilangan prima besar.
Tes Primalitas Tingkat Lanjut:
Tes primalitas tingkat lanjut seperti Miller – Rabin atau AKS dapat digunakan untuk menangani bilangan besar. Namun algoritma ini memerlukan pemahaman tentang teori bilangan.
Oleh karena itu, pemrograman dengan bilangan prima memadukan kekuatan matematika dan pemrograman untuk memecahkan masalah rumit secara sistematis.