prime numbers - Programmers Heaven

#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# prime numbers

Posts: 3Member
please can anyone give me the algorithms for finding prime numbers below a number, given that number.

• Posts: 1Member
: please can anyone give me the algorithms for finding prime numbers below a number, given that number.
:

Hint:If a number is not divisible to any of the prime numbers below itself then it is a prime number too.

Create an array to hold the found prime numbers.
Add the first prime number 2 as the first object of the array.
Create a variable for current value and initialize it to 3.
In a loop which repeats the statements until the variable is updated to the given number take the remainder of the current variable/objects of the array(holds found prime numbers), add the current variable to the array if any of the remainders is equal to zero(this means none of the prime numbers divides the current value) and update the current variable by adding one to it.
After the break of loop you can print out the values in the array and see the prime numbers below the desired number.

I'm a first year computer science student.Sorry if i confused you. This is not an algorithm but i think it can give you a clue about how to solve the problem.
• Posts: 48Member
[b][red]This message was edited by gaetano at 2004-5-5 4:6:11[/red][/b][hr]
[grey]please can anyone give me the algorithms for finding prime numbers below a number, given that number.
[/grey]

[green]
The maybe easiest implementation for an algorithm which finds primes
in a given range is the so-called "Sieve Of Erathostenes".

- you will find really every prime
- every found prime is 100% a prime

- the array takes a lot of memory
- the computation time is long for high ranges

If you need the "sieve" in another language than C/C++, just use any
search engine. You'll find everything you need ...
[/green]

[code][size=2]
#include
using namespace std;

int
main (void)
{
long max;
bool *primes;

cout << " Calculate prime numbers (sieve of Erathostenes)

";
cout << " Highest number to test: ";
cin >> max;

if (max < 2) {
cerr << " Error: Invalid value!
"
<< " Number must be greater than 2.
";
return 1;
}

[blue] // Create array and exclude 0 and 1[/blue]
primes = new bool[max + 1];

[blue] // Fill list with all positive integers[/blue]
for (long i=0; i<=max; i++)
primes[i] = true;

[blue] // The testing ...[/blue]
for (long i=2; i<=max; i++)
for (long j=2; i*j<max; j++)
primes[i*j] = false;

[blue] // The index of the array equals the numbers[/blue]
[blue] // If you want to look whether 7 is a prime, just try[/blue]
[blue] // if `(primes[7])'[/blue]

[blue] // Print them[/blue]
for (long i=2; i<=max; i++)
if (primes[i])
cout << i << endl;

delete[] primes;
return 0;
}
[/size][/code]

• Posts: 10Member
: [b][red]This message was edited by gaetano at 2004-5-5 4:6:11[/red][/b][hr]
: [grey]please can anyone give me the algorithms for finding prime numbers below a number, given that number.
: [/grey]
:
: [green]
: The maybe easiest implementation for an algorithm which finds primes
: in a given range is the so-called "Sieve Of Erathostenes".
:
: - you will find really every prime
: - every found prime is 100% a prime
:
: - the array takes a lot of memory
: - the computation time is long for high ranges
:
: If you need the "sieve" in another language than C/C++, just use any
: search engine. You'll find everything you need ...
: [/green]
:
: [code][size=2]
: #include
: using namespace std;
:
: int
: main (void)
: {
: long max;
: bool *primes;
:
: cout << " Calculate prime numbers (sieve of Erathostenes)

";
: cout << " Highest number to test: ";
: cin >> max;
:
: if (max < 2) {
: cerr << " Error: Invalid value!
"
: << " Number must be greater than 2.
";
: return 1;
: }
:
: [blue] // Create array and exclude 0 and 1[/blue]
: primes = new bool[max + 1];
:
: [blue] // Fill list with all positive integers[/blue]
: for (long i=0; i<=max; i++)
: primes[i] = true;
:
: [blue] // The testing ...[/blue]
: for (long i=2; i<=max; i++)
: for (long j=2; i*j<max; j++)
: primes[i*j] = false;
:
: [blue] // The index of the array equals the numbers[/blue]
: [blue] // If you want to look whether 7 is a prime, just try[/blue]
: [blue] // if `(primes[7])'[/blue]
:
: [blue] // Print them[/blue]
: for (long i=2; i<=max; i++)
: if (primes[i])
: cout << i << endl;
:
: delete[] primes;
: return 0;
: }
: [/size][/code]
:
:
:

Can you give me some pseudocode to Intel assembly? thanks didn't find it on google