+ 3
Dividing number according to the list
In my project, I have faced the following problem: I have a double value ( for example 120.6 ) and list (for example [1, 2.5, 3.8, 5.5, 7.9, 20.6, 100, 125.5, 150.6, 200, 400, 900.8] ). I should divide 120.6 into pieces so each piece must be an element of the list (like 100 + 20.6) And pieces total count must be the fewest. If list values are not able for dividing input value, I should subtract some number from the input, that makes input able for dividing, and this reminder also must be minimum. What algorithm I should us for this situation?
1 Answer
+ 1
I would loop throu the list and subtract the element from your example 120.6 and make an if to test is if the result is in your list
JS:
let num
let list = [1, 2.5, 3.8, 5.5, 7.9, 20.6, 100, 125.5, 150.6, 200, 400, 900.8];
for(var lnum in list) {
var diff = num - lnum;
if(list.indexOf(diff) >= 0) {
break;
}
}
console.log(lnum + ", " + diff);