The knapsack problem

I try to write about this problem but i can't ...

This is a problem thai i have ..

Suppose you want your knapsack to weigh exactly 20 pounds,
and you have only five item, with weight 11,8,7,6,5 pounds.
For small number of items, humans are preety good at solving this problem by inspection.
So you can probably figure out that only the 8,7,5 combination of items adds up to 20.

....................................................................................................

Easy to understand is write about how to add item equal to 20
using ASM lan.
...................................................................................................

i have java code for that project

How can i change from java to ASM

public class Knapsack {

    public static void main(String[] args) { 

        int[] x = { 11, 8, 7, 6, 5 }; // descendingly sorted inputs
        int target = 20; // our target :)
        boolean[] y = null; // y[i] will be true if x[i] is selected
        boolean foundAnswer = false; 
        int sum = 0;
        abc: for (int i = 0; i < x.length; i++) {
            y = new boolean[x.length]; // all y(s) will be set default to 'false'
            sum = x[i];
            y[i] = true; // x[i] is selected 
            for (int j = i + 1; j < x.length; j++) {
                if (sum + x[j] <= target) {
                    sum += x[j];
                    y[j] = true;
                } 

                if (sum == target) {
                    foundAnswer = true; // now we found the answer.
                    break abc; // break out from outer most for loop
                }
            } 
        }
        if (foundAnswer) {
            System.out.println("Found Answer");
            for (int i = 0; i < x.length; i++) {
                if (y[i]) {
                     System.out.println(x[i]);
                }
            }
        } else {
            System.out.println("No Answer Found!!");
        }
    }
}

Edited 3 Years Ago by pyTony: fixed formatting

This article has been dead for over six months. Start a new discussion instead.