# Prime Numbers. Write a program that reads in an integer that is greater than 2 (let’s call it k) and finds and prints all of the prime numbers between 3 and k.

### LANGUAGE: C++

### CHALLENGE:

Prime Numbers.

Write a program that reads in an integer that is greater than 2 (let’s call it k) and finds and prints all of the prime numbers between 3 and k.

A prime number is a number such that 1 and itself are the only numbers that evenly divide it (for example, 3, 5, 7, 11, 13, 17, …).

One way to solve this problem is to use a doubly nested loop.

The outer loop can iterate from 3 to k while the inner loop checks to see if the counter value for the outer loop is prime.

One way to see if number n is prime is to loop from 2 to n-1 and if any of these numbers evenly divides n, then n cannot be prime.

If none of the values from 2 to n-1 evenly divides !n, then n must be prime.

(Note that there are several easy ways to make this algorithm more efficient.)

SAMPLE RUN #1: ./ETest

Instructor Notes:

The prompt to give for the user input should be exactly “Enter n (to print primes from 3 to n): ”

And output each prime number x exactly as “x is a prime number.”, followed by a line break.

### SOLUTION:

#include <iostream> using namespace std; int main(){ bool isPrime=true; int n ; cout << enter the number ; cin >> n ; for(int primeCandidate=3; primeCandidate<=n; primeCandidate++){ isPrime = true; for(int factor=2; factor<primeCandidate-1; factor++){ if(primeCandidate%factor == 0){ isPrime = false; break; } } if(isPrime == true){ cout<< primeCandidate << " is prime." << endl; } } return 0; }