| | |
I have problem about Knapsack in ASM
![]() |
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 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!!");
}
}
}
=============================================
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!!");
}
}
}
=============================================
![]() |
Similar Threads
- Problem with Windows Update and WinXP (Web Browsers)
- beginner compile problem (Assembly)
- C++ to ASM (C++)
- ASM Game Coding Problem/Question (Assembly)
- Windows XP keeps restarting since a new video card (Windows NT / 2000 / XP)
Other Threads in the Assembly Forum
- Previous Thread: some assembly code help?
- Next Thread: separating strings
| Thread Tools | Search this Thread |





