Data Structures, Algorithms, & Applications in C++
Chapter 7, Exercise 3

The mapping formula for general k is obtained using the same reasoning as used in Exercise 1. The formula is

map(i1, i2, ..., ik) = i1 u2 u3 ... uk + i2 u3 ... uk + ... + ik-2 uk-1 uk + ik-1 uk + ik

Notice that

map(i1, i2, ..., ik) = map(i1, ... , ik-1) * uk + ik

for k > 1.