// Nicolas Ruano CS1A Chapter 6, P. 375, #21
//
/*******************************************************************************
* VERIFY IF A GIVEN NUMBER IS A PRIME NUMBER.
* ______________________________________________________________________________
* The program prompts the user for a number, ensures it’s
* greater than 1, then checks if it is divisible by any number
* from 2 to (number – 1). If so, it’s not prime; if not, it’s
* prime. The result is then displayed.
* Computation is based on the formula:
* For a number n:
* Prime(n)=
* False, if n≤1,
* False, if there exists an i such that 2≤i<n and n mod i=0,
* True, Otherwise
* Where:
* n mod i = 0 means “n is evenly divisible by i.”
* ______________________________________________________________________________
* INPUT
* num int The number entered by user.
*
*
* OUTPUT
* isPrime(num) bool Control which message is printed
* num int The number entered by user.
*******************************************************************************/
#include <iostream> // Needed for input and output
using namespace std;
// Function to check if a number is prime
bool isPrime(int number) {
if (number <= 1) {
return false; // Numbers less than or equal to 1 are not prime
}
// Check for factors between 2 and number - 1
for (int i = 2; i < number; i++) {
if (number % i == 0) {
return false; // Found a divisor, so it's not prime
}
}
return true; // No divisors found, it's prime
}
int main() {
int num;
cout << "Enter a number: ";
cin >> num;
if (isPrime(num)) {
cout << num << " is a prime number." << endl;
} else {
cout << num << " is not a prime number." << endl;
}
return 0;
}
Ly8gTmljb2xhcyBSdWFubyAgICAgICAgICAgQ1MxQSAgICAgICAgICBDaGFwdGVyIDYsIFAuIDM3NSwgIzIxIAoKLy8gCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAKKiBWRVJJRlkgSUYgQSBHSVZFTiBOVU1CRVIgSVMgQSBQUklNRSBOVU1CRVIuIAoKKiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gCgoqIFRoZSBwcm9ncmFtIHByb21wdHMgdGhlIHVzZXIgZm9yIGEgbnVtYmVyLCBlbnN1cmVzIGl04oCZcyAgCiogZ3JlYXRlciB0aGFuIDEsIHRoZW4gY2hlY2tzIGlmIGl0IGlzIGRpdmlzaWJsZSBieSBhbnkgbnVtYmVyIAoqIGZyb20gMiB0byAobnVtYmVyIOKAkyAxKS4gSWYgc28sIGl04oCZcyBub3QgcHJpbWU7IGlmIG5vdCwgaXTigJlzICAKKiBwcmltZS4gVGhlIHJlc3VsdCBpcyB0aGVuIGRpc3BsYXllZC4gCgoqIENvbXB1dGF0aW9uIGlzIGJhc2VkIG9uIHRoZSBmb3JtdWxhOiAKCiogRm9yIGEgbnVtYmVyIG46IAoqIFByaW1lKG4pPSAKKiBGYWxzZSwgaWYgbuKJpDEsIAoqIEZhbHNlLCBpZiB0aGVyZSBleGlzdHMgYW4gaSBzdWNoIHRoYXQgMuKJpGk8biBhbmQgbuKAiiBtb2TigIogaT0wLCAKKiBUcnVlLCBPdGhlcndpc2UgCgoqIFdoZXJlOiAKKiBu4oCKIG1vZOKAiiBpID0gMCBtZWFucyDigJxuIGlzIGV2ZW5seSBkaXZpc2libGUgYnkgaS7igJ0gCgoqIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAKCiogSU5QVVQgCiogICBudW0gICAgICAgICAgICAgICAgaW50ICAgIFRoZSBudW1iZXIgZW50ZXJlZCBieSB1c2VyLiAKKiAKKiAKKiBPVVRQVVQgCiogICBpc1ByaW1lKG51bSkgICAgICAgYm9vbCAgIENvbnRyb2wgd2hpY2ggbWVzc2FnZSBpcyBwcmludGVkIAoqICAgbnVtICAgICAgICAgICAgICAgIGludCAgICBUaGUgbnVtYmVyIGVudGVyZWQgYnkgdXNlci4gCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIAojaW5jbHVkZSA8aW9zdHJlYW0+ICAgLy8gTmVlZGVkIGZvciBpbnB1dCBhbmQgb3V0cHV0IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAKCi8vIEZ1bmN0aW9uIHRvIGNoZWNrIGlmIGEgbnVtYmVyIGlzIHByaW1lIApib29sIGlzUHJpbWUoaW50IG51bWJlcikgeyAKICAgIGlmIChudW1iZXIgPD0gMSkgeyAKICAgICAgICByZXR1cm4gZmFsc2U7IC8vIE51bWJlcnMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEgYXJlIG5vdCBwcmltZSAKCiAgICB9IAoKICAgIC8vIENoZWNrIGZvciBmYWN0b3JzIGJldHdlZW4gMiBhbmQgbnVtYmVyIC0gMSAKICAgIGZvciAoaW50IGkgPSAyOyBpIDwgbnVtYmVyOyBpKyspIHsgCiAgICAgICAgaWYgKG51bWJlciAlIGkgPT0gMCkgeyAKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBGb3VuZCBhIGRpdmlzb3IsIHNvIGl0J3Mgbm90IHByaW1lIAoKICAgICAgICB9IAogICAgfSAKCiAgICByZXR1cm4gdHJ1ZTsgLy8gTm8gZGl2aXNvcnMgZm91bmQsIGl0J3MgcHJpbWUgCn0gCgppbnQgbWFpbigpIHsgCiAgICBpbnQgbnVtOyAKCiAgICBjb3V0IDw8ICJFbnRlciBhIG51bWJlcjogIjsgCiAgICBjaW4gPj4gbnVtOyAKICAgIAogICAgaWYgKGlzUHJpbWUobnVtKSkgeyAKICAgICAgICBjb3V0IDw8IG51bSA8PCAiIGlzIGEgcHJpbWUgbnVtYmVyLiIgPDwgZW5kbDsgCiAgICB9IGVsc2UgeyAKICAgICAgICBjb3V0IDw8IG51bSA8PCAiIGlzIG5vdCBhIHByaW1lIG51bWJlci4iIDw8IGVuZGw7IAogICAgfSAKCiAgICByZXR1cm4gMDsgCn0g