Next: List Tutorial Exercise 5, Previous: List Tutorial Exercise 3, Up: Answers to Exercises [Contents][Index]

A number ‘`j`’ is a divisor of ‘`n`’ if
‘`n % j = 0`’.
The first step is to get a vector that identifies the divisors.

2: 30 2: [0, 0, 0, 2, ...] 1: [1, 1, 1, 0, ...] 1: [1, 2, 3, 4, ...] 1: 0 . . . 30 RET v x 30 RET s 1 V M % 0 V M a = s 2

This vector has 1’s marking divisors of 30 and 0’s marking non-divisors.

The zeroth divisor function is just the total number of divisors. The first divisor function is the sum of the divisors.

1: 8 3: 8 2: 8 2: 8 2: [1, 2, 3, 4, ...] 1: [1, 2, 3, 0, ...] 1: 72 1: [1, 1, 1, 0, ...] . . . V R + r 1 r 2 V M * V R +

Once again, the last two steps just compute a dot product for which
a simple `*` would have worked equally well.