AP Computer Science Workshop


Example: Finding Primes


#include <iostream.h>
#include <bool.h>
#include <math.h>

bool IsPrime(int num);      // function prototype

int main( )
{ int first, last;

    cout << "find primes between what two numbers: ";
    cin >> first >> last;

    int k;                 // variables can be declared anywhere in block
    for (k = first; k <= last; k++) 
    {
        if (IsPrime (k))
            cout << k << endl;
    }
    return 0;
}

bool IsPrime (int num)
// precondition: num >=2
// postcondition: returns 1 if num is prime, else 0
{
    if (num == 2)         // the only even prime
        return true;
    else if (num % 2 == 0)     // other even numbers are composite
        return false;
    else
    {
        bool prime = true;
        int divisor = 3;
        int upperLimit = static_cast<int>(sqrt(num) + 1);
        while (divisor <= upperLimit)
        {
            if (num % divisor == 0)
                prime = false;
            divisor +=2;
        }
        return prime;
    }
}




Previous slide Mark Stehlik, Carnegie Mellon University Next slide