Go to the first, previous, next, last section, table of contents.


リスト 練習問題 4 解答「因子関数(Divisor function)」

`n % j = 0' であれば ji の約数です。 まず約数を識別するベクトルを作ります。

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

このベクトルの 1 は 30 の約数を示し、0 は約数でないことを示します。

ゼロ次の因子関数はちょうど約数の個数に等しくなります。 1次の因子関数は約数の合計です。

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 +

繰返しますが、最後の2ステップはまさに内積を計算する操作であって、 単なる * でも同様に機能します。


Go to the first, previous, next, last section, table of contents.     利用度数