InukaiWeb Blog

2nCn/2が奇数となるnを求めよ

2023年8月14日 07:15:18

問題 \(\dfrac{{}_{2n}{\rm C}_n}{2}\)が奇数となる\(n\)をすべて求めよ。

\({}_{2n}{\rm C}_n = \dfrac{(2n)!}{n!n!}\)と表せるので,\(\dfrac{{}_{2n}{\rm C}_n}{2}\)が奇数となるには,\((2n)!\)に含まれる素因数\(2\)の数から\((n!)^2\)に含まれる素因数\(2\)の数を引いて\(1\)となればよい。

つまり,\(v(m)\)を\(m\)に含まれる素因数\(2\)の数を表す関数とすると,$$v((2n)!) – 2v(n!) = 1$$が成り立てばよい。

ここで,\(v(m!)\)は,$$\begin{array}{r@{\>}l} v(m!) & = \left\lfloor \dfrac{m}{2} \right\rfloor + \left\lfloor \dfrac{m}{4} \right\rfloor + \left\lfloor \dfrac{m}{2^3} \right\rfloor + \cdots + \left\lfloor \dfrac{m}{2^i} \right\rfloor + \cdots \\ & = \displaystyle \sum_{i = 1}^\infty \left\lfloor \dfrac{m}{2^i} \right\rfloor \end{array}$$と計算できる。

整数\(m_1, m_2, \cdots, m_k\)\((m_1 > m_2 > \cdots >m_k)\)を用いて,

\( n = 2^{m_1} + 2^{m_2} + \cdots + 2^{m_k} \)とすると,$$v(n!) = \displaystyle \sum_{i=1}^\infty \left\lfloor \dfrac{2^{m_1} + 2^{m_2} + \cdots + 2^{m_k}}{2^i} \right\rfloor $$と表せる。

ここで,\(m_1>m_2>\cdots>m_s \geq i > m_t > \cdots > m_k \)となるとき,

\(2^{m_t}+2^{m_{t+1}}+\cdots+2^{k-1}+2^k<2^i\)なので,\(\dfrac{2^{m_t}+2^{m_{t+1}}+\cdots+2^{k}}{2^i} < 1\)であるから,$$ \begin{array}{r@{\>}l} \left\lfloor \dfrac{2^{m_1}+2^{m_2}+\cdots+2^{m_k}}{2^i} \right\rfloor & = 2^{m_1-i}+2^{m_2-i}+\cdots+2^{m_s-i} \\ & = \left\lfloor \dfrac{2^{m_1}}{2^i} \right\rfloor + \left\lfloor \dfrac{2^{m_2}}{2^i} \right\rfloor + \cdots + \left\lfloor \dfrac{2^{m_k}}{2^i} \right\rfloor \end{array} $$と表せるから,

$$\begin{array}{rl} v(n!) & = \displaystyle \sum_{i=1}^\infty \left( \left\lfloor \dfrac{2^{m_1}}{2^i} \right\rfloor + \left\lfloor \dfrac{2^{m_2}}{2^i} \right\rfloor + \cdots + \left\lfloor \dfrac{2^{m_k}}{2^i} \right\rfloor \right) \\ & = \displaystyle \sum_{i=1}^\infty \left\lfloor \dfrac{2^{m_1}}{2^i} \right\rfloor + \sum_{i=1}^\infty \left\lfloor \dfrac{2^{m_2}}{2^i} \right\rfloor + \cdots + \sum_{i=1}^\infty \left\lfloor \dfrac{2^{m_k}}{2^i} \right\rfloor \\ & = (2^{m_1-1}+2^{m_1-2}+\cdots+2^0) + (2^{m_2-1}+2^{m_2-2} +\cdots+2^0) + \cdots \\ & = \dfrac{2^{m_1}-1}{2-1} + \dfrac{2^{m_2}-1}{2 – 1} + \cdots + \dfrac{2^{m_k}-1}{2 – 1} \\ & = 2^{m_1} + 2^{m_2} + \cdots + 2^{m_k} – k \end{array}$$

\(v((2n)!)\)についても,同様に考えると,$$v((2n)!) = 2^{m_1+1} + 2^{m_2+1} + \cdots +2^{m_k+1}-k$$と表せる。

よって,$$\begin{array}{l} v((2n)!) – 2v(n!) \\ = (2^{m_1+1}+\cdots+2^{m_k+1}-k)-2(2^{m_1}+\cdots+2^{m_k+1}-k) \\ = (2^{m_1+1}+\cdots+2^{m_k+1}-k)-(2^{m_1+1}+\cdots+2^{m_k+1}-2k) \\ =k \end{array}$$となる。

したがって,条件を満たすには\(k = 1\)でなければならないから,\(0\)以上の整数\(j\)を使って,\(n=2^j\)と表せるときだけ\(\dfrac{{}_{2n}{\rm C}_n}{2}\)が奇数になる。


この問題は下の動画を見て,ChatGPTで解けるかなと思ってやってみました。最初は\(n=1\)のときのみを答えとしていてうまく答えを出すことはできませんでした。模範解答は\(n=2^j\)だよと教えると,間違っていましたが,それらしい解答を提示するようになりました。上の解答はChatGPTが示した解答を大幅に加筆,修正したものです。

\({}_{2n}{\rm C}_n\)の素因数\(2\)の数が\(n\)を\(2\)進数表記をしたときの\(1\)の数と等しいのは,面白い性質です。ChatGPT(3.5)で数学はできませんが,ChatGPT(4)であれば簡単な問題を解いてくるようになりました。提示してくる解答は正しいとは限りませんが,よいアイデアを出すこともあるので面白いですね。