MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to simplify this code with variable number of nesting loops?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124342] Re: How to simplify this code with variable number of nesting loops?
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Tue, 17 Jan 2012 03:27:38 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jeu7lb$j7s$1@smc.vnet.net>

On Jan 15, 1:52 am, Rex <aoi... at gmail.com> wrote:
> Considering an array a[i], i=0,1,...,g, where g could be any given
> number, and a[0]=1.
>
>     for a[1]=a[0]+1 to 1 do
>         for a[2]=a[1]+1 to 3 do
>            for a[3]=a[2]+1 to 5 do
>              ......
>               for a[g]=a[g-1]+1 to 2g-1 do
>                 ###some computations here###
>
> The problem is that everytime we change the value of g, we need to
> modify the code, those loops above. So this is not a good code.
>
> Any advice would be greatly appreciated.

g = 4; Clear[a]; a[0] = 0 (* not 1 *);
Do[ Print[a /@ Range@g] (* or some other computations *),
    Evaluate[ Sequence@@Table[{a[j],a[j-1]+1,2j-1},{j,g}] ] ]

{1,2,3,4}
{1,2,3,5}
{1,2,3,6}
{1,2,3,7}
{1,2,4,5}
{1,2,4,6}
{1,2,4,7}
{1,2,5,6}
{1,2,5,7}
{1,3,4,5}
{1,3,4,6}
{1,3,4,7}
{1,3,5,6}
{1,3,5,7}



  • Prev by Date: Re: How to remove the Null character in a Table?
  • Next by Date: Re: plotting histograms with do loop
  • Previous by thread: Re: How to simplify this code with variable number of nesting loops?
  • Next by thread: Extract a part of expression