Contoh untuk memeriksa apakah sebuah integer (dimasukkan oleh pengguna) adalah bilangan prima atau tidak menggunakan pernyataan for loop dan if… else.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C ++ berikut:
- C ++ if, if… else dan Nested if… else
- C ++ untuk Loop
- C ++ break dan lanjutkan Pernyataan
Bilangan bulat positif yang hanya habis dibagi 1 dan itu sendiri disebut bilangan prima.
Contoh: 13 adalah bilangan prima karena hanya habis habis dibagi 1 dan 13 tetapi, 15 bukan bilangan prima karena habis habis dibagi 1, 3, 5 dan 15.
Catatan: 0 dan 1 bukanlah bilangan prima.
Contoh: Cek Prime Number
#include using namespace std; int main() ( int i, n; bool isPrime = true; cout <> n; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << n << " is a prime number"; else cout << n << " is not a prime number"; return 0; )
Keluaran
Masukkan bilangan bulat positif: 29 29 adalah bilangan prima.
Program ini mengambil bilangan bulat positif dari pengguna dan menyimpannya di variabel n.
Perhatikan bahwa variabel boolean isPrime diinisialisasi true
di awal program.
Karena 0 dan 1 bukan bilangan prima, pertama-tama kita periksa apakah bilangan yang dimasukkan adalah salah satu dari bilangan tersebut atau bukan. Jika nomor input adalah 0 atau 1 , maka nilai isPrime diatur ke false
.
Jika tidak, nilai awal isPrime dibiarkan tidak berubah dan for
loop dijalankan, yang memeriksa apakah nomor yang dimasukkan oleh pengguna dapat dibagi sempurna oleh i atau tidak.
for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) )
The for
loop berjalan dari i == 2
ke i <= n / 2
dan meningkatkan nilai dari i oleh 1 dengan setiap iterasi.
Perulangan berakhir pada i == n / 2
karena kita tidak dapat menemukan faktor apapun untuk n di luar bilangan tersebut n / 2
. Jadi, iterasi apa pun di luarnya n / 2
adalah mubazir.
Jika bilangan yang dimasukkan oleh pengguna habis habisnya oleh i, maka isPrime disetel ke false
dan bilangan tersebut bukan bilangan prima.
Tetapi jika bilangan input tidak habis dibagi i di seluruh loop, maka itu berarti bilangan input hanya habis dibagi 1 dan bilangan itu sendiri.
Jadi, bilangan yang diberikan adalah bilangan prima.
Dalam kasus n == 2
, for
loop gagal berjalan dan nilai isPrime tetap ada true
.