『平方数に近い階乗』解答


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

十進ベーシック(1000桁モード)で探索しました。
探索範囲はNが400以下です。

【問題1】

   2  2         4     2 
   6  5      3600    60 
  10  7  25401600  5040
3個

【問題2】

   3   3  2          36      6 
   4   3  2         144     12 
   7   7  5      176400    420 
  11  11  7  3073593600  55440 
4個

【問題3】

   5  5  3  2      3600    60 
   9  7  5  2  25401600  5040 
2個

【おまけ2】

20  19  17  13  11  112373310855670824960000  335221286400

◆出題者のコメント。

解答ありがとうございます。
問題3 惜しい× です。
正直言って、ロジックで解答願いたかったです。
計算機を持ち出すまでもないように配慮したので。


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

【問題3】 訂正

5  5  3  2      3600    60 
1個

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

補題に従えばNは22以下となる。
N!を素因数分解したときそれぞれの冪が奇数となるもので、 それらの素因数が大きいものから連続したものさがせばよい。

 2 
  2 

  3 
  3  2 

  4 
  3  2 

  5 
  5  3  2 

  6 
  5 

  7 
  7  5 

 10 
  7 

 11 
 11  7  

 20 
 19  17  13  11

◆出題者のコメント。

早速の解答ありがとうございます。

>>補題に従えばNは22以下となる。
本結論の導出過程が不明のため定かなことは言えませんが、一言で済むほど単純ではありません。

 御解答から問題4に対しての結論と考えますが、その帰納でいえば、問題2は10以下でなければなりません。
しかし11の解があります。
問題1もそうです。


◆茨城県 小川 康幸 さんからの解答。

ここで、pはすべて素数を表すものとする。
logは自然対数を表すものとする。

おまけの1のn≧2のとき、π(2n)−π(n)≧1を示します。

●補題1

1. 2n+1Cn+1<4n

2. 2n*(2nCn)>4n

3. 2n+1
Π
n+2
{p}<4n

ただし、 2n+1
Π
n+2
{p}は、n+2以上かつ2n+1以下の素数の積とする。

もし、この間に素数が存在しなければ、 2n+1
Π
n+2
{p}=1となる。

4.0≦[x]+[y]-[x+y]≦1

ただし、[x]はxを超えない最大の自然数を表す。

証明

1.
2*(2n+1Cn+1)< 2n+1
Σ
i=0
2n+1C=22n+1より

2n+1Cn+1<22n=4nとなる。

2.
2nCnが、2nC (0≦i≦2n)の中で最大なので

4n=22n= 2n
Σ
i=0
2nC=2+ 2n-1
Σ
i=1
2nC<2n*2nCn

3.
2n+1
Π
n+2
{p}は2n+1Cn+1=(2n+1)(2n)・・・(n+2)/1*2*・・・*(n+1)の約数である。

よって、 2n+1
Π
n+2
{p}≦2n+1Cn+1

よって、1.より、 2n+1
Π
n+2
{p}<4nとなる。

ここで、L(n)をL(n)=log( n
Π
1
{p})とおく
( n
Π
1
{p}は、1以上n以下の任意の素数の積を意味する)

4.

[x]≦x<[x]+1、[y]≦y<[y]+1より

[x]+[y]≦x+y<[x]+[y]+2

よって、[x+y]=[x]+[y]あるいは、[x]+[y]+1となる。

証明終

●補題2

任意の自然数nに対して、L(n)<2n*log2となる。

証明

L(1)=0、2log2>0、L(2)=log2、2*2*log2=4*log2>log2
n=1,2のときは正しい。

2≦n<hなる任意の自然数hに対して、補題2が成立すると仮定する。

n=hのとき

hが偶数のとき、明らかに、hは合成数だから、

L(h)=L(h-1)<2(h-1)log2<2hlog2

となって、補題2は正しい。

hが奇数のとき、h=2k+1と書ける。

L(2k+1)
=L(k+1)-L(k+1)+L(2k+1)
=L(k+1)+log( 2k+1
Π
k+2
{p})
<(2k+2)log2+log22k
=(2k+2)*log2+2k*log2
=2*(2k+1)log2
=2hlog2

となって、やはり補題2は正しい。

よって、任意の自然数nに対して、補題2は正しい。

証明終

さて、本題に入ろう

もし、ある自然数n0>512に対して、
n0<p≦2*n0なる素数が存在しなかったと仮定する。・・・◎

2*(n0)Cn0を、
2*(n0)Cn0= n0
Π
1
{pk_p}
と素因数分解する。

k_p=
Σ
i=1
{[ 2*(n0)
p
]-2[ n0
p
]}と書ける。

(ただし[x]は、xを超えない最大の整数を意味する)

ところが、 2
3
*(n0)<p≦n0を満たす任意のpに対して、

1≦ n0
p
3
2
、2≦2*n0
p
<3

2*(n0)<{ 2
3
*(n0)}2<p2

よって、 n0
p2
2*(n0)
p2
<1

よって、このとき、k_p=0となる。

したがって、
2*(n0)Cn0= (2/3)*(n0)
Π
1
pk_pと書ける。

ここで、pk_p≦2*(n0)となることを示す。

もし、pk_p>2*(n0)と仮定すると、

n0
pk_p
2*(n0)
pk_p
<1となる。

よって、補題1の4.より、
k_p=
Σ
i=1
{[ 2*(n0)
p
]-2[ n0
p
]}≦(k_p)-1となって不合理

log{{2*(n0)}C(n0)}
= (2/3)*(n0)
Σ
p=1
{log(pk_p)}
= (2/3)*(n0)
Σ
p=1
(k_p)*log(p)
= Σ
k_p=1
{log(p)}+ Σ
k_p≧2
{(k_p)*log(p)}

k_p≧2となる素数の個数は、
p2≦pk_p≦2*(n0)より
p≦√{2*(n0)}

よって、pの個数は√{2*(n0)}以下となる。

Σ
k_p≧2
{(k_p)*log(p)}= Σ
k_p≧2
{log(pk_p)}≦ Σ
k_p≧2
{log{2*(n0)}}=√{2*(n0)}*log{2*(n0)}

一方、補題2より、

p≦(2/3)*(n0)
Σ
k_p=1
{log(p)}< 4
3
*(n0)*log2

log{{2*(n0)}C(n0)}<√{2*(n0)}*log{2*(n0)}+ 4
3
*(n0)*log2

となることがわかる。

また、補題1の3.より
log({2*(n0)}*2*(n0)Cn0)>log(22*(n0))=2*(n0)*log2

が成立する。

log({2*(n0)}*2*(n0)Cn0=log({2*(n0)})+log({2*(n0)}Cn0)

よって、

(1+√{2*(n0)})*log{2*(n0)}+ 4
3
*(n0)*log2>2*(n0)*log2

つまり、

2*(n0)*log2<3*(1+√{2*(n0)})*log{2*(n0)}・・・※

が成立することがわかる。

ここで、λ=log{(n0)/512}/(10log2)とおくと
2*(n0)=210*(1+λ)と書ける。

よって※は、
210*(1+λ)<30*(1+25*(1+λ))*(1+λ)

したがって、
2<30*(1/32)(1+2-5*(1+λ))*(1+λ)<(1-2-5)*(1+2-5)*(1+λ)<1+λ

となるはずであるが、λは正の実数より、

2=e5λlog2>1+5λlog2=1+λlog32>1+λとなるので不合理。

よって、◎をみたすn0は存在しない。

また、2≦n≦512の場合は、
素数列2,3,5,7,13,23,43,83,163,317,631より、成立していることが分かる。

よって、n≧2なる任意の自然数nに対して、n<p≦2nとなる素数が必ず存在する。

よって、おまけの1のn≧2のとき、π(2n)−π(n)≧1は示された。


◆出題者のコメント。

小川さん大作ありがとうございます。
この辺は私の能力を超え本の受け売りになります。
従って、小川さんはご存知かと思いますが読者のご参考として、古いですが分かりやすいと思う本をご紹介だけしておきます。

GHハーディー EMライト著 数論入門I,II シュプリンガーフェアラーク東京(株)
特に22章ベルトラン仮説


 『平方数に近い階乗』へ

 数学の部屋へもどる