Talk:Semiprime
task clarification
The use of the phrase natural numbers (according to Wikipedia)
(quoted from Wikipedia Natural number:
There is no universal agreement about whether to include zero in the set of natural numbers: some define the natural numbers to be the positive integers {1, 2, 3, ...}, while for others the term designates the non-negative integers {0, 1, 2, 3, ...}. The former definition is the traditional one, with the latter definition having first appeared in the 19th century.
I personally like positive integers or non-negative integers for one or the other; that way, there can be no misunderstanding. -- Gerard Schildberger (talk) 01:17, 21 February 2014 (UTC)
Of course, if all program examples would handle both cases, this would be a moot point. -- Gerard Schildberger (talk) 01:17, 21 February 2014 (UTC)
- It doesn't matter when taken in this context. Zero is never taken as prime.
- That was never my point. Unity also isn't a prime. But an isPrime function should be able to test any integer and return a correct result (as to being a prime or not) without giving an error or causing a loop. Same thing with an isSemiprime function. It should be able to return a correct result. Understanding that extremely large numbers would be problematic, of course. -- Gerard Schildberger (talk) 08:00, 21 February 2014 (UTC)
- Are you saying that the task description is confusing as it stands? --Paddy3118 (talk) 07:17, 21 February 2014 (UTC)
- Well, maybe not confusing, but it could be clarified. The use of any phrase (or word) that is under contention (disagreement) should never be used in a definition. If not, then we could say that semiprimes are the product of exactly two (possibly equal) primes. The use of a clarifying adjective should be definitive, and not be argumentative (since there is not an agreed-on definition). I like Mathworld's definition better: a semiprime, also called a 2-almost prime, biprime, or p q-number, is a composite number that is the product of two (possible equal) primes. This also has the advantage of introducing other (alias) names for people searching for alternate names. A note about the square of a prime being, by definition, is a semiprime would be a nice addition. -- Gerard Schildberger (talk) 08:00, 21 February 2014 (UTC)
a graphic view of the first 10k semiprimes
For those that are interested, here is the output of my $CALC (REXX) program that shows a binary map of the first 10k semiprimes.
The command used was:
<lang rexx>$CALC translate{ isSemiPrime[ iota(1,10k) ], 'dcfa'x, 10}</lang>
The translate BIF converts ones and zeroes to ▄ and ·
The iota BIF generates the numbers 1 ──► 10,000 which are passed to the isSemiPrime BIF.
╔═════════════════════════════════════════════════════╗ ║ translate{ isSemiPrime[ iota(1,10k) ], 'dcfa'x, 10} ║ ╚═════════════════════════════════════════════════════╝