ng (It's a bit similar to the Knapsack problem):
I have a Variable --> XandI Have fix numbers (can we call "pieces") 9,12,15,18
I'd like to reach the X, with the summing of these numbers and using the minimum pieces ,it can't be lower than X, but it can be higher, maximum with 3.After this it has to found the most optimal combination which mostly use the same pieces
E.G.
X=98
The wrong solution is like = 1pcs of 18 = 9pcs of 9
Sum of pieces are 10
OR
= 3pcs of 18 = 1pcs of 15 = 1pcs of 12 = 2pcs of 9
Sum of pieces are 7
The right solution in this case = 5pcs of 18 = 1pcs of 9
(5*18)+(1*9)=99 it's good beacuse it's over with maximum 3 and uses the minimum pieces
Then it sends to a list like18 : 5pcs15 : 0pcs12 : 0pcs9 : 1pcsCan somebody help me ? Or is it possible to make this ?
Thank you…
Added by Petrik Kollár at 1:09am on November 10, 2017
a seed, and instead creating a pattern where each color has a seed/control slider for each row? For example, row 1: brown 2, tan 6, yellow 7, purple 3, repeat. row 2: brown 6, tan 1, yellow 4, purple 10, repeat. row 3: yellow 5, purple 1, brown 3, tan 10, repeat. row 4: purple 2, brown 7, tan 3, yellow 4, repeat. Then repeat that sequence up the wall? For each color, the number in the sequence should be adjustable.
Thank you again for your help!…
Integer = 0 To 9
val *= 2
lst.Add(val)
Next
Since val is a ValueType, when we assign it to the list we actually put a copy of val into the list. Thus, the list contains the following memory layout:
[0] = 2
[1] = 4
[2] = 8
[3] = 16
[4] = 32
[5] = 64
[6] = 128
[7] = 256
[8] = 512
[9] = 1024
Now let's assume we do the same, but with OnLines:
Dim ln As New OnLine(A, B)
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
ln.Transform(xform)
lst.Add(ln)
Next
When we declare ln on line 1, it is assigned an address in memory, say "24 Bell Ave." Then we modify that one line over and over, and keep on adding the same address to lst. Thus, the memory layout of lst is now:
[0] = "24 Bell Ave."
[1] = "24 Bell Ave."
[2] = "24 Bell Ave."
[3] = "24 Bell Ave."
[4] = "24 Bell Ave."
[5] = "24 Bell Ave."
[6] = "24 Bell Ave."
[7] = "24 Bell Ave."
[8] = "24 Bell Ave."
[9] = "24 Bell Ave."
To do this properly, we need to create a unique line for every element in lst:
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
Dim ln As New OnLine(A, B)
ln.Transform(xform)
lst.Add(ln)
Next
Now, ln is constructed not just once, but whenever the loop runs. And every time it is constructed, a new piece of memory is reserved for it and a new address is created. So now the list memory layout is:
[0] = "24 Bell Ave."
[1] = "12 Pike St."
[2] = "377 The Pines"
[3] = "3670 Woodland Park Ave."
[4] = "99 Zoo Ln."
[5] = "13a District Rd."
[6] = "2 Penny Lane"
[7] = "10 Broadway"
[8] = "225 Franklin Ave."
[9] = "420 Paper St."
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 6:26am on September 9, 2010
e possible to change the component definition making possible to customize the number of outputs.Now Dispatch moves "true" values to A and "False" values to B
INPUT:
L (List to work on) -> 1, 2, 3, 4, 5, 6, 7, 8
D (Dispatch Pattern) -> True, False
OUTPUT:
A (List) -> 1, 3, 5, 7
B (List) -> 2, 4, 6, 8
Could it be possible/useful to modify it so it could dispatch items to several outputs, like:
INPUT:
L (List to work on) -> 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
D (Dispatch Pattern) -> A, B, C
OUTPUT:
A (List) -> 1, 4, 7, 0
B (List) -> 2, 5, 8
C (List) -> 3, 6, 9
maybe I'm missing something and there's already a component with this function... I have been searching on the forum for half afternoon, but can't find anything about it!
Thank you!…