DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   prime numbers (http://www.daniweb.com/forums/thread12399.html)

cblue Oct 14th, 2004 1:33 am
prime numbers
 
i know how to find prime numbers of several numbers, does anyone know hoew to find a prime sumber of a single number inputed by the ser using the following function and printing out if the number is prime

int mai()//asks for input
{
int num;
cout << "enter number:";
cin >> num;

call IsPrime;
cout if prime or not
}

bool IsPrime(int n)
// precondition: n >= 0
// postcondition: returns true if n is prime, else returns false
// returns false if precondition is violated
{
if (n < 2) // 1 and 0 aren't prime
{ return false; // treat negative #'s as not prime
}
else if (2 == n) // 2 is only even prime number
{ return true;
}
else if (n % 2 == 0) // even, can't be prime
{ return false;
}
else // number is odd
{ int limit = int(sqrt(n) + 1); // largest divisor to check
int divisor = 3; // initialize to smallest divisor

// invariant: n has no divisors in range [2..divisor)

while (divisor <= limit)
{ if (n % divisor == 0) // n is divisible, not prime
{ return false;
}
divisor += 2; // check next odd number
}
return true; // number must be prime
}
}
any suggestions would greatly be appreciated

Stack Overflow Oct 14th, 2004 3:00 am
Re: prime numbers
 
Greetings cblue,

> does anyone know hoew to find a prime sumber of a single number inputed by the ser using the following function and printing out if the number is prime
Yes, I do know, its quite possible too.
int main() {
        int num;
        cout << "enter number:";
        cin >> num;

        if (isPrime(num))
                cout << "Number is prime" << endl;
        else
                cout << "Number is not prime" << endl;

        return 0;
}

// Add isPrime code here
How did this work? Simple, the if statement is used to express decisions. Formally the syntax is:
if (expression)
        statement1
else
        statement2
Where the else is optional. The expression is evaluated; if it is true (if has a non-zero value), statement1, is executed. If it is false, (if has value of zero) and if there is an else part, statement2 is executed instead.

Since an if simply tests the numeric value of an expression, certain coding shortcuts are possible:
if (expression)
Instead of:
if (expression != 0)
If you have further questions, please feel free to ask. Hope this helps.

- Stack Overflow


All times are GMT -4. The time now is 9:23 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC