質問<2686>2005/11/11
from=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
from=toshi


題意の言うことは、n=3^an * knと書けるということであり、
その指数部分を返す関数としてfが定義される。
よって、n=3^an * kn,m=3^am * kmと書けば
mn=3^(an+am)*kn*kmとなり、
ここでknとkmはそれぞれ3で割り切れないので、mnは
mn=3^amn *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^am *kmで書けていたとするならば、f(3*m)=3^(am+1) *kmと書ける。
よって、三つの項のうち、少なくともひとつはam+1、すなわち1より大きい値を持つ。

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

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