Write code to sum the values contained in two memory slots into a third memory slot, using only 3 instructions: zero <slot> increment <slot> jlt <slot1>,<slot2> <location>, where jlt=jump to <location> if <slot1>is less than <slot2>.
Utilisateur anonyme
import java.util.*; public class HelloWorld { public static void main(String args[]) { String input = "234892"; Map data = new HashMap(); String[] dataFor2 = {"A", "B","C"}; data.put("2",dataFor2); String[] dataFor3 = {"D", "E","F"}; data.put("3",dataFor3); String[] dataFor4 = {"G", "H","I"}; data.put("4",dataFor4); String[] dataFor5 = {"J", "K","L"}; data.put("5",dataFor5); String[] dataFor6 = {"M", "N","O"}; data.put("6",dataFor6); String[] dataFor7 = {"P", "Q","R","S"}; data.put("7",dataFor7); String[] dataFor8 = {"T","U","V"}; data.put("8",dataFor8); String[] dataFor9 = {"W", "X","Y","Z"}; data.put("9",dataFor9); char[] myCharArray = input.toCharArray(); List output = null; for (char c : myCharArray) { String[] elements = data.get(c+""); output = mergeList(output,elements); } for (String str : output) { System.out.println(str); } } private static List mergeList(List currentList, String[] elements) { if (currentList == null) { currentList= new ArrayList(); for (String str : elements) { currentList.add(str); } return currentList; } else { List returnList= new ArrayList(); for (String str : currentList) { for (String chr : elements) { returnList.add(str+chr); } } return returnList; } } }