Re: Super-Increasing List
- To: mathgroup at smc.vnet.net
- Subject: [mg40499] Re: Super-Increasing List
- From: atelesforos at hotmail.com (Orestis Vantzos)
- Date: Tue, 8 Apr 2003 03:04:08 -0400 (EDT)
- References: <b6m04c$efg$1@smc.vnet.net> <b6reg3$7rk$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Dr Bob alerted me that the function does not work right.
The error was in the way the function begun (sum=0).
This is the corrected version:
correctedSuperIncreasingQ[lst_] := OrderedQ[lst] &&
Module[{sum = First[lst]}, If[Scan[If[# <= sum, Return[False], sum +=
#] &, Rest[lst]] ===
Null, True,
False]];
Orestis
atelesforos at hotmail.com (Orestis Vantzos) wrote in message news:<b6reg3$7rk$1 at smc.vnet.net>...
> OrestisSuperIncreasingQ[lst_] := OrderedQ[lst] &&
> Module[{sum = 0},
> If[Scan[If[# <= sum, Return[False], sum += #] &, lst] ===
> Null, True,
> False]];
>
> The advantage of this function is that it stops checking as long as an
> element does not satisfy the super-increasing condition.
> Orestis
>
> "flip" <flip_alpha at safebunch.com> wrote in message news:<b6m04c$efg$1 at smc.vnet.net>...
> > Hello,
> >
> > does a command or module exist which can test a list of values and determine
> > if it is a super-increasing list?
> >
> > A super-increasing list satifies the conditions:
> >
> > a. the list is in increasing order
> > b. each element of the list is greater than the sum of it's previous
> > elements
> >
> > Example:
> >
> > list = {2, 3, 7, 15, 31}
> >
> > So check:
> >
> > a. It is in increasing order and
> > b. 3 > 2, 7 > 3+ 2, 15 > 7 + 3 + 2 and 31 > 15 + 7 + 3 + 2,
> >
> > hence the list is super-increasing.
> >
> > Thanks for any inputs, Flip
> >
> > To email me, remove "_alpha".