⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

== "simplest"? ==

The task states "Implement the simplest primality test, using trial division." I'd like to submit that any such statement is always inappropriate at this wiki, as it presumes knowledge what method of solving some task is "the simplest" in all conceivable languages. There may well be languages where some other method might be "simpler", especially given that "simple" is not exactly a particularly well-defined term. In particular in the sense of complexity defined through the computational resources required to express the result, a Miller-test might well be "simpler" than trial-factoring.[[User:Sgeier|Sgeier]] 13:22, 4 February 2008 (MST)

:Why not just say "Use trial division to test each number"? --[[User:Mwn3d|Mwn3d]] 15:19, 4 February 2008 (MST)

:: Even that isn't particularly precise. Should I do trial-division by every integer 2 through n-1? Or am I allowed to factor only up to (sqrt(n)) which is obviously sufficient but introduces the added complexity of invoking a square root. So is it still the "simplest" solution? Is simplicity preferred? Actually it would be entirely sufficient to trial-factor only by all prime numbers up to sqrt(n) which immediately leads to a very elegant recursive implementation. Which I'm pretty sure isn't what the creator of the task had in mind ;-) but which is entirely allowed when you just say "use trial division"... [[User:Sgeier|Sgeier]] 19:21, 4 February 2008 (MST)

::: It isn't necessary to invoke (use) a SQRT function to find the square root to limit the factors. See the REXX example. [[User:Gerard Schildberger|Gerard Schildberger]] 23:06, 18 December 2010 (UTC)

::: Also, trial division by three's can be skipped. See the REXX example and others. -- [[User:Gerard Schildberger|Gerard Schildberger]] 17:12, 15 May 2012 (UTC)

==new description== I fixed up the description. I tried to be more specific, but didn't rule out recursion. If you use recursion make sure you note it and add the task to the [[:Category:Recursion|recursion category]] --[[User:Mwn3d|Mwn3d]] 19:46, 4 February 2008 (MST)

== Python ==

This task can also be handled by the [http://tnt.math.se.tmu.ac.jp/nzmath/ NZMATH] modules prime and arith1 to enable its trialDivision function.----[[User:Billymac00|Billymac00]] 02:42, 3 January 2011 (UTC) : As I noted in [[Talk:Sieve of Eratosthenes]], feel free to add a code example, as long as there's already an example that satisfies the task description as-written. --[[User:Short Circuit|Michael Mol]] 04:19, 3 January 2011 (UTC)

== Extending the task to producing ranges of primes, optionally. ==

I propose the task description is amended (what is the correct procedure for this?).