Peculiar behaviour of Mathematica code
- To: mathgroup at smc.vnet.net
- Subject: [mg57929] Peculiar behaviour of Mathematica code
- From: "Tony King" <mathstutoring at ntlworld.com>
- Date: Mon, 13 Jun 2005 05:50:46 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I have some Mathematica code which I borrowed from the Divisors package. This code should return True if its argument is semiperfect and False if it is not. Here is the code SemiperfectQ[n_Integer?Positive]:=Module[{d=Most[Divisors[n]]}, n==Plus@@#&/@(Or@@Rest[Subsets[d]]) ] This seems to work fine if the argument is composite. However, if the input is prime it returns {False} rather than False. Similarly the code for returning True if a number is weird behaves in the same way WeirdQ[n_Integer?Positive]:=DivisorSigma[1,n]>2n&& n!=Plus@@#&/@(And@@Rest[Subsets[Most[Divisors[n]]]]) Any ideas how these codes could be modified to return False (rather than {False}) for prime inputs Thank you Tony