1. A positive integer n is said to be prime (or, "a prime") if and only if n is greater than 1 and is divisible only by 1 and n. For example, the integers 17 and 29 are prime, but 1 and 38 are not prime. Write a function named "is_prime" that takes a positive integer argument and returns as its value the integer 1 if the argument is prime and returns the integer 0 otherwise. Thus, for example:
cout << is_prime(19) << endl; // will print 1
cout << is_prime(1) << endl; // will print 0
cout << is_prime(51) << endl; // will print 0
cout << is_prime(-13) << endl; // will print 0
#include <cmath>
bool is_prime(int n) {
if (n < 1) return 0;
const auto upperLimit = static_cast<int>(sqrtf(static_cast<float>(n)));
auto divisors { 0 };
for (int x = 2; x <= upperLimit; x++) {
if (n % x == 0) divisors++;
}
return !divisors;
}
Comments
Leave a comment