I have an assignment that requests that two integers be provided in a range and that these numbers should be checked if they are prime or not.
I am having the following problems with my code.
a) the number 4 shows up in my calculation and four should not be prime.
b)the assignment specifies that the function testValue be converted to a double.
example where testValue (min, max) make testValue double or
double testValue (min, max)
c) the function is_prime should be stated with sqrt, instead of division. example
for (i = 2; i < sqrt(n); i++;)
I began with division and it worked fine
example for ( i=2; i < n/2; i++;)
can anyone help?
HERE IS MY CODE:
// This is tutorial 10.17 (Prime Numbers Application)
// Date - 11/11/2011
#include <iostream> // required to perform C++ stream I/O
#include <iomanip> // required to manipulate C++ stream I/O
#include <string> // required to access string functions.
#include <cmath> // required to perform math operations.
#include <windows.h> //will be used to perform a series of beeps that creates a sound byte.
using namespace std;
// Defines the function prototype for the range of numbers used.
void testValue( int& min, int& max);
// Defines function prototype for is_prime.
bool is_prime (int n); // boolean prototype determines if true or false.
int main()
{
int min = 0,
max = 0;
cout <<"\n**************************************************";
cout <<"\n>>>> Welcome to the Prime Numbers Application <<<<";
cout <<"\n**************************************************"<<endl<< endl;
// Range of numbers used > 2, max is not specified.
testValue(min, max);
// outputs the prime numbers.
cout << "\nThe Primes Numbers are:\n"; // displays the output.
for (int n = min; n <= max; n++)
{
if (is_prime(n))
{
cout << " " << n << endl;
}
}
cout << endl;
return 0;
}
// defines the range of numbers that will be determined as primes.
void testValue(int& min, int& max)
{
cout <<"\nEnter a lowerbound value: ";
cin >> min;
cout <<"\nEnter an upperbound value: ";
cin >> max;