Info

This question is closed. Reopen it to edit or answer.

How would you solve this?

1 view (last 30 days)
Dark Warrior
Dark Warrior on 8 May 2013
Closed: MATLAB Answer Bot on 20 Aug 2021
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
  3 Comments
Matt Kindig
Matt Kindig on 8 May 2013
Edited: Matt Kindig 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 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).

Answers (1)

Matt J
Matt J 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),

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!