『1999 Part3』解答


◆広島県 清川 育男 さんからの解答。

プログラムを組んで検索しました。

χ=1165 のとき 1999
χ=1164 のとき 1998
χ=1166 のとき 2001

答え χ=1165

2000になる整数χは存在しないようです。

第5項までで近似値を探す。

χ+ χ
――
+χ
――
+χ
――
24
+χ
―――
120
=1999

120χ+60χ+20χ+5χ+χ=1999×120
206χ=239880

χ=1164.466..


【コメント】

しかしこの問題はどうやって作ったのでしょうか。


◆富山県 N.C. さんからの解答。

関数
f(x)=[ χ
―――
1!
]+[χ
―――
2!
]+・・・+[χ
―――
11!
は単調増加です。

f(1!)=1

f(2!)=2+1=3 (=f(1!)*2+1)

f(3!)=6+3+1=10 (=f(2!)*3+1)

f(4!)=24+12+4+1=41 (=f(3!)*4+1)

f(5!)=120+60+20+5+1=206 (=f(4!)*5+1)

f(6!)=720+360+120+30+6+1=1237 (=f(5!)*6+1)

f(7!)=5040+2520+840+210+42+7+1=8660(=f(6!)*7+1)

なので、

f(x)=1999ならば、6!≦x<7!

α+a*n!<(n+1)!のとき、
k≦nならば、(n!/k!)は整数なので
[(α+a*n!)/k!]=[α/k!]+a*(n!/k!)=[α/k!]+a*[n!/k!]

k>nならば、
(α+a*n!)/k!<1,、α/k!<1、n!/k!<1なので
[(α+a*n!)/k!]=0=[α/k!]+a*[n!/k!]

従って α+a*n!<(n+1)! のとき、
f(α+a*n!)=f(α)+a*f(n!)

故に、xを10進法ならぬ「階乗進法(仮称)」で

x=a(1)*1!+a(2)*2!+a(3)*3!+...a(5)*5!+a(6)*6!
(ここで0≦a(n)≦n)
と表すと、

f(x)=a(1)*f(1!)+a(2)*f(2!)+a(3)*f(3!)+...+a(6)*f(6!)

ここで、
y=a(1)*1!+a(2)*2!+a(3)*3!+...+a(5)*5!とおくと、

x=y+a(6)*6! <7!、y<6!、

となることから、

f(x)=f(y)+a(6)*f(6!)<f(6!)+a(6)*f(6!)<(a(6)+1)*f(6!)

f(x)=f(y)+a(6)*f(6!)≧a(6)*f(6!)

ゆえに、

a(6)*f(6!)≦f(x)<(a(6)+1)*f(6!)
a(6)*1237≦1999<(a(6)+1)*1237

従って、a(6)=1

次に
f(y)=f(x)−a(6)*f(6!)=1999-1*1237=762 に対して同様の操作をして、
a(5)=3

さらに
z=a(1)*1!+a(2)*2!+a(3)*3!+a(4)*4! とおき、

f(z)=f(y)−a(5)*f(5!)=762-3*206=144 に対して同様の操作をして、
a(4)=3

以下、a(3)=2、a(2)=0、a(1)=1 となり、

x=a(1)*1!+a(2)*2!+a(3)*3!+...+a(6)*6!
=1*1!+0*2!+2*3!+3*4!+3*5!+1*6!
=1165

以上で、問題が解けたけれどもっとうまく説明できないものでしょうか?


 『1999 Part3』へ

 数学の部屋へもどる