Talk:Semiprime

From Rosetta Code
Revision as of 07:15, 25 February 2014 by rosettacode>Gerard Schildberger (→‎task clarification: added a new section showing 10k semiprimes. -- ~~~~)

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)
I don't agree with "The use of any phrase (or word) that is under contention (disagreement) should never be used in a definition". Context and audience mean a lot. --Paddy3118 (talk) 09:04, 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.