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;
}