約数関数

約数関数とは、約数の総和を返す関数のことです。

定義をきちんと書くと、下記のようになります。

自然数nに対し、そのnの約数全ての総和を返す関数を約数関数と呼び、σ(n)で表す。

例えば、

σ(1)=1
σ(2)=1+2=3
σ(3)=1+3=4
σ(4)=1+2+4=7
σ(5)=1+5=6
σ(6)=1+2+3+6=12
σ(7)=1+7=8
σ(8)=1+2+4+8=15
σ(9)=1+3+9=13
σ(10)=1+2+5+10=18
σ(11)=1+11=12
σ(12)=1+2+3+4+6+12=28
σ(13)=1+13=14
σ(14)=1+2+7+14=24
σ(15)=1+3+5+15=24 //注目σ(14)と同じ (※)

という具合になります。

(※)たまたま気がつきました。連続して約数の和が同じになっている最初のところになります。

素数ベキに対するの約数関数

pをある素数とし、kを自然数とします。

\(n=p^k\)に対して、約数関数の値を調べてみましょう。

素因数分解ができれば、約数を全て書き表すことができるため、約数関数の値を求めることができます。

\(n=p^k\)の素因数は\(p\)ただ一つであり、その約数は、

\(1,p,p^2,p^3,…,p^k\)で全てですから、その総和は、

\(1+p+p^2+p^3+…+p^k\)であって、これは初項1、公比pの等比数列の和です。

したがって等比数列の和の公式から、

\[σ(p^k)=\sum_{i=0}^{k} p^i=\frac{p^{k+1}-1}{p-1}\]

という公式が得られます。

 

約数関数の乗法性

乗法性とは、積を保存するという意味です。

つまり、

\[σ(ab)=σ(a)σ(b)\]

ただ、約数関数の場合、注意が必要です。

いつも、\(σ(ab)=σ(a)σ(b)\)とは限らないからです。

乗法的でない反例

σ(2*2)=7, σ(2)=3, σ(2)σ(2)=9
∴σ(2*2)≠σ(2)σ(2)

これは、自然数a,bが互いに素な場合に成立します。

改めて約数関数の情報性を記載しますと、

自然数a,bに対し
aとbが互いに素であれば
\(σ(ab)=σ(a)σ(b)\)

乗法的な例

いくつか確かめてみます。

\( σ(2*3)=σ(2)σ(3)=12 \)

成立していますね。

証明は、nがpのべき乗の時と同じように、素因数分解して約数を列挙すればわかります。

これを一般の形で書くと、

\[σ(p_1^{k_1}p_2^{k_2}…p_m^{k_m})=σ(p^{k_1})σ(p^{k_2})…σ(p^{k_m})\]
\[ =\frac{p_1^{k_1+1}-1}{p_1-1} \frac{p_1^{k_2+1}-1}{p_2-1} … \frac{p_1^{k_m+1}-1}{p_m-1}\]

となります。

これが約数関数の公式です。

 

例題

自然数360のすべての約数の和を求めよ。

例題の解き方

360を素因数分解します。やり方は、素因数分解のコツ

\(360=2^3 3^2 5\)なので、
上記の公式を使うと
\(\frac{2^4-1}{2-1} \frac{3^3-1}{3-1} \frac{5^2-1}{5-1}\)
\(=15 * 13 * 6 \)
\(1170\)

答え 360のすべての約数の和は、1170

約数の個数

実は、約数の総和ではなく、約数の個数も素因数分解からわかります

指数部分に1を足してかければ求まります。

360の例で説明しますと、

\(360=2^3 3^2 5\)なので、約数の個数は、
\((3+1)(2+1)(1+1)=4*3*2=24\)

360の約数の個数は24個。

実際にかいてみると、この約数の書き方をよく観察すれば上記の式がわかると思います。
約数をそれぞれ素因数分解して書いた方がわかりよいのですが、長い式になるので、下記は素因数分解せずに約数を書いています。

\(1,2,4,8,\) \(3,6,12,24,\) \(9,18,36,72,\) \(5,10,20,40,\) \(15,30,60,120,\) \(45,90,180,360,\)
でちゃんと24個ありました。

約数関数の拡張σx(n)

拡張された約数関数して、約数のx乗の総和を表すσx(n)という関数があります。上で述べた約数の総和を表す関数σ(n)はx=1の場合のσx(n)で、x=0にするとσx(n)は約数の個数を返します。

自然数nに対し、「そのnの約数それぞれのx乗」の全ての総和を返す関数を約数関数と呼び、σx(n)で表す。