How would you solve this?

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 comentarios

Matt Kindig
Matt Kindig el 8 de Mayo de 2013
Editada: Matt Kindig el 8 de Mayo de 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 el 8 de Mayo de 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).

Respuestas (1)

Matt J
Matt J el 8 de Mayo de 2013

0 votos

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

La pregunta está cerrada.

Preguntada:

el 8 de Mayo de 2013

Cerrada:

el 20 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by