Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Prime Number Generator help

albert abbene
Greenhorn
Posts: 4
Hello. My program is supposed to accept #test cases. For each test case, it must accept two integers as a range, then return all prime numbers within the range.
Currently, it prints odd numbers within the range.
So I suspect my problem is within the Boolean i'm using to test whether a number is prime or not.
I pulled the code for the Boolean from this site - http://www.mkyong.com/java/how-to-determine-a-prime-number-in-java/
Maybe I didn't quite understand it, or maybe that's not my real issue.
Any help would be greatly appreciated. Please, and thank you!

Paul Clapham
Sheriff
Posts: 21443
33
You changed the variable names from the code in that link, but you made one little error.

Here it is:

Campbell Ritchie
Sheriff
Posts: 50702
83
• 1
Beware: what happens if you try to work out whether 6917529027641081857L is prime or not? That is 2^61 + 2^62 + 1.

Winston Gutkowski
Bartender
Posts: 10527
64
albert abbene wrote:Any help would be greatly appreciated. Please, and thank you!

Another little wrinkle for you: Your program accepts ints for its range values, and yet uses a calculation method that takes a long. There's nothing intrinsically wrong with it, but it will slow things down unnecessarily, because arithmetic on longs takes longer (no pun intended). It also wastes space, because your ArrayList has to hold Longs when it could be holding Integers.

Winston

Randall Twede
Ranch Hand
Posts: 4489
3
one thing i noticed when i was writing a similar method is it seems unnecessary to check for even numbers

fred rosenberger
lowercase baba
Bartender
Posts: 12234
36
You really only need to test (6*n + 1) and (6*n - 1) for all positive integer values of n, once you get 2 and 3 on your list. That eliminates another 33%.