質問<2686>
「「証明」」
日付 2005/11/11
質問者 flower


どのような自然数nも、3で割り切れない自然数kと0以上の整数aを用いて、
3のa乗×kとかける。
このとき、f(n)=aと定める。
たとえば、f(1)=0、f(2)=0、f(3)=1である。

次のことを証明せよ。
(1)自然数m、nに対して、f(mn)=f(m)+f(n)が成り立つ。

(2)2以上の自然数nに対して、f(nの3乗-n)>=1が成り立つ。

★希望★完全解答★

お便り
日付 2005/11/22
回答者 toshi


題意の言うことは、n=\(3^{a}\)n * knと書けるということであり、
その指数部分を返す関数としてfが定義される。
よって、n=\(3^{a}\)n * kn,m=\(3^{a}\)m * kmと書けば
mn=3^(an+am)*kn*kmとなり、
ここでknとkmはそれぞれ3で割り切れないので、mnは
mn=\(3^{a}\)mn *kmn と書けたことになる。
よって、amn=an+am ⇔f(mn)=f(m)+f(n)と書ける。

f(\(n^{3}\)-n)=f( n(n-1)(n+1) ) =f(n-1) + f(n) + f(n+1)
ここで、連続する3つの数のうち必ずどれかは3の倍数となる。
よって、その項は3*mという形で書ける。
ここでf(m)=\(3^{a}\)m *kmで書けていたとするならば、f(3*m)=3^(am+1) *kmと書ける。
よって、三つの項のうち、少なくともひとつはam+1、すなわち1より大きい値を持つ。

以上よりf(\(n^{3}\)-n)≧1が証明される。

ただし、n=1のときはk=0とすることにより任意のaを取れるので考えない。
(もしくは自然数を1よりも大きい整数と定義する