Expand description
§Let It Snow
There are two parts to solving this problem.
The first is converting the row and column to an zero based index. Using the example of the 12th code at row 4 column 2:
| 1 2 3 4 5 6
---+---+---+---+---+---+---+
1 | 1 3 6 10 15 21
2 | 2 5 9 14 20
3 | 4 8 13 19
4 | 7 12 18
5 | 11 17
6 | 16
First we observe that the numbers on the top row are the
triangular numbers that can be calculated
with the formula (n * (n + 1)) / 2
for the nth
number.
Starting at the chosen number 12 and moving diagonally upwards to the right we intersect
the top row at column column + row - 1 = 2 + 4 - 1 = 5
. This gives the triangular number
5 * (5 + 1) / 2 = 15
. Then we count backwards by row
elements to get the one less
zero based based index 15 - 4 = 11
.
The second part is realizing that the description of the code generation is modular exponentiation. The exponent of the first code is zero, which is the reason for using a zero based index.
Functions§
Type Aliases§
- Input 🔒