Challenges

We are looking for new challenges! Feel free to submit them on the GitHub

Add two numbers
Add two numbers and store the result

Add two numbers

Number of submissions and other statistics here :)

Add the numbers in the addresses 0x0 and 0x1 and store the result in the address 0x2. This challenge does not include a competition and is meant as warmup and for testing.

Expected result:

memory[2] = memory[1] + memory[0]

Multiply 2 Numbers
Multiply 2 numbers and store the result

Multiply 2 Numbers

Number of submissions and other statistics here :)

Multiply the numbers in the addresses 0x0 and 0x1 and store the result in the address 0x2. Note that there is no multiply instruction in the MIMA. The multiplication is unsigned, and you can assume the input to be positive or zero integers.

Expected result:

memory[2] = memory[1] * memory[0]

Maximum of Array
Find the maximum value of an array

Maximum of Array

Number of submissions and other statistics here :)

Given a list of values starting at address 0 and a length stored at address 0x40, calculate and then store the maximum value of the array at the address 0x41.

Expected result:

memory[0x41] = max(memory[0..length])

Sort an Array
Sort an array of numbers in ascending order.

Sort an Array

Number of submissions and other statistics here :)

Given a list of integers in the addresses between 0x0 and 0x40, sort the numbers in ascending order. The length of the array is also given.

Expected result:

memory[0..length] = sort(memory[0..length])