Ethiopian multiplication: Difference between revisions
Content added Content deleted
(Added Object Pascal) |
m (→{{header|Java}}: No need to loop twice, and the table is still saved in the map if you want to debug later) |
||
Line 1,086: | Line 1,086: | ||
Map<Integer, Integer> columns = new HashMap<Integer, Integer>(); |
Map<Integer, Integer> columns = new HashMap<Integer, Integer>(); |
||
columns.put(first, second); |
columns.put(first, second); |
||
int sum = isEven(first)? 0 : second; |
|||
do{ |
do{ |
||
first = halveInt(first); |
first = halveInt(first); |
||
second = doubleInt(second); |
second = doubleInt(second); |
||
columns.put(first, second); |
columns.put(first, second); |
||
⚫ | |||
}while(first != 1); |
|||
⚫ | |||
⚫ | |||
for(Map.Entry<Integer, Integer> entry : columns.entrySet()){ |
|||
⚫ | |||
sum += entry.getValue(); |
|||
} |
} |
||
} |
}while(first != 1); |
||
System.out.println(sum); |
System.out.println(sum); |
||
} |
} |