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}