combinations problem
- To: mathgroup at smc.vnet.net
- Subject: [mg58563] combinations problem
- From: hrocht at mail15.com
- Date: Thu, 7 Jul 2005 05:35:54 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
hi at first here is my program << DiscreteMath`Combinatorica` lst1 = Table[i, {i, 100}] Do[ lst2 = Table[Random[Integer, {1, 300}], {i, 100}]; lst3 = Transpose[{lst1, lst2}]; a = KSubsets[lst3, 2]; num = 0; Do[ If[ Abs(a[[i]][[1]][[2]] - a[[i]][[1]][[1]]) == Abs(a[[i]][[2]][[2]] - a[[i]][[2]][[1]]) || (a[[i]][[1]] [[2]] + a[[i]][[1]][[1]]) == (a[[i]][[2]][[2]] + a[[i]][[2]] [[1]]), num++;] , {i, 1, 4950}]; If[num > 40, Print[num]; Print[lst2]]; , {j, 1, 2000}] lst3 will have each element in lst2 together with its ordering such as : Take[lst3, {1, 3}] {{1, 48}, {2, 295}, {3, 74}} if we take all the possible combinations in lst3 taken in pairs as in a = KSubsets[lst3, 2] one sublist may be for a[[1]] {{1, 6}, {29, 34}} the length of "a" will be 4950 which is number of possible combinations for 100 elements taken in pairs. the mission is to count the sublists such as {{1, 6}, {29, 34}} in which abs[1-6]=abs[29-34] or the sublists such as {{1, 206}, {35, 172}} in wich 1+206=35+172 and what is the biggest possible number for such sublists when we supply our random or carefully designed lst2 ? in the program above we want to display only the lst2 wich will give num>40 how could i make my program more speedy and more efficient? thanks Anton
- Follow-Ups:
- Re: combinations problem
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: combinations problem