## How would you solve this?

Asked by Dark Warrior

### Dark Warrior (view profile)

on 8 May 2013

Assuming you have a vector x=[16,18,23,24,39,40], create a function that when called at the command window, will display the count of random numbers(elements in vector X) needed to make a sum of 100. One should also display the combination of those random numbers.

Any help is highly appreciated.

-----------------------

The Dark Warrior

the cyclist

on 8 May 2013
Matt Kindig

### Matt Kindig (view profile)

on 8 May 2013

Are you sure that there exists a set of elements in your x vector that sum to 100? I tried your problem and could not find one.

By the way, my method involves using perms() and cumsum()--maybe that will help you.

Dr. Seis

### Dr. Seis (view profile)

on 8 May 2013

I am wondering if by "count" we can use one of the numbers from the list more than once (e.g., 4*16 + 2*18 = 100).

## Products

No products are associated with this question.

Answer by Matt J

### Matt J (view profile)

on 8 May 2013

Here's the start of a method that will work for length(x) not too large,

`    N=length(x);`
`    B=bsxfun(@times, x(:).', dec2bin(1:2^N-1,N)-'0');`
`    map=(sum(B,2)==100),`

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi