PDA

Click to See Complete Forum and Search --> : Decent way to find prime numbers (simple and fast)


eyeRmonkey
Jan 26th, 2006, 07:09 PM
I had heard a long time ago that this was the best way to find primes:
1) Fill an array with all every prime you have found so far (usually start with 2 and 3 as 2 elements that are already in the array)
2) If you want to know if X is prime then divide it by every number in the array.
3) If it X mod Array(i) = 0 then it goes in evenly and it can't be prime.
4) If X is prime then add it to the array and continue

I tried this method and found it was very slow. Here is what I did that gave the same result in 1/1000th of the time:
If you want to know if X is prime then MOD it with every number from I to Sqrt(I) and if none of those = 0 then it is prime.

This may seem obvious to some people, but I thought the first method would be quicker for some reason.

manavo11
Jan 26th, 2006, 07:11 PM
Remember the contest? What did Merri do? :D

manavo11
Jan 26th, 2006, 07:12 PM
Strike that, the contest was before you joined I think :ehh:

The first contest we had here was to generate the first 1000 prime numbers. Merri won from what I remember. The code submissions are in the subforum in the Contest Area :)

damasterjo
Jan 26th, 2006, 10:21 PM
yeah i wrote a program myself, It was slow, but those contest submissions are incredible. I was impressed.

eyeRmonkey
Jan 27th, 2006, 01:08 PM
I knew about the contest. I posted what I did in here because I didn't want anyone else to be under the false impression that I was under (about checking all previous prime numbers). I would have used Merri's code, but I wanted to figure out the problem on my own (and I needed the first 1 million prime numbers).