■オイラーと整数の分割関数(その35)

 ある整数nを3以下の自然数に分解する場合の数を計算することを考える.

 1をk1個,2をk2個,3をk3個,一般に,正の整数nに対して,

  n=k1+2k2+3k3   (k1≧0,k2≧0,k3≧0)

となる解(k1,k2,k3)の個数をanとします.n=5の場合,

  1+1+1+1+1 → (5,0,0)

  1+1+1+2  → (3,1,0)

  1+1+3   → (2,0,1)

  1+2+2   → (1,2,0)

  2+3    → (0,1,1)

ですから,a5=5となります.

  a0=1,a1=1,a2=2,a3=3,a4=4,a5=5,・・・

===================================

 n=50の場合,

  50=k1+2k2+3k3≧3k3→ 0≦k3≦50/3<17

  k3は0から16までの整数である.これによって場合分けすると

(k3,k1+2k2)=(16,2)→k2=0,1(2通り)

(k3,k1+2k2)=(15,5)→k2=0,1,2(3通り)

(k3,k1+2k2)=(14,8)→k2=0,1,2,3,4(5通り)

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

(k3,k1+2k2)=(2,44)→k2=0,1,2,・・・,22(23通り)

(k3,k1+2k2)=(1,47)→k2=0,1,2,・・・,23(24通り)

(k3,k1+2k2)=(1,50)→k2=0,1,2,・・・,25(26通り)

 k3が偶数のときと奇数のときで場合分けした方が良さそうであるが,総計234通りになる.

===================================