Explore BrainMass

data structure in Java

You have a computer where multiplication is an enormously expensive operation compared to addition. Consider an algorithm for computing cubes using only addition (FYI: the first 5 cubes are 13 = 1, 23 = 8, 33 = 27, 43 = 64 and 53 = 125). This computation can be made using a two-pass (i.e. two loop) algorithm:

public int cube(int n) {

int result = 0;
int square = 0;

for (int i = 0; i < n; i++) {
square += n;

for (int j = 0; j < n; j++) {
result += square;

return result;
Write (in Java) an elegant single-pass (one loop) algorithm for computing cubes using only addition. (Hint: there is a pattern that you must find.) Note that the loop cannot be nested.

The original course website where the problem comes from is here, I think it will be helpful if you take a look at it first:

Solution Preview

public static int cube(int n)
int square = 0;
int result = ...

Solution Summary

A data structure in Java problem is solved. The multiplication of enormously expensive operations for compared to addition are determined.