階乗の探求

 完全数の話が終わり、成宮がノートを閉じようとしたところで、愛華がある書き込みを見つけた。


2  1503  100、70!


「成宮君、これ何?」

「今日、安藤に出す予定だった大小比較の問題だよ。検算が間に合わなくて断念した」

「70!が厄介だね」

「そうなんだ。2  1503  100の比較は簡単だけど」


 二人が話している間、俺は2  1503  100の大小を比較することにした。

 150と100の最大公約数は50だから、2  150=(2 3) 503  100=(3 2) 50

 2 33 2より、2  1503  100

 紙を用意するまでもない。あとは’70!だが、確かに厄介だ。


「成宮君、一番大きい数どれ?」

「その検算が済んでないんだよ。適当に数字を決めたからね」

「問題を作るときって、最初に答えを決めるんじゃないの?」

「答えが分かっている状態で問題を作るのは面白味がない。だから整数の問題を作るときなんかは、多項式の係数を適当に決めて自分で解くんだ。値が大きかったときは、筆算で計算できる範囲で係数の値を調整する」

「自分で作った問題を自分で解く……」

 

 出題者が答えを知らない状態で問題を作る。なかなか面白い試みだな。

 

「だから僕もどれが一番大きいか分からないんだ。安藤、分かる?」

「70!だ。少し手間取った」

「どうやって計算したの?」

「素因数の数を比較した」


 愛華は首を傾げた。この反応を何度見たことか。俺は2  1503  100の説明をした後に言った。


「あとは70!と3  100の比較だが、3  100は3が100個あるってことだから、70!に3以上の約数が100個以上あることを示せばいい」


「100個以上……ええと、3の個数は70割る3で……23個?」

「いや、70!の約数には9の倍数と27の倍数もあるから、3の個数は23個より多い」


 3の倍数は3、6、9……63、66.69まで23個。

 9の倍数は9、18、27、36、45、54、63の7個。

 27の倍数は27と54の2個。


 よって、3の個数は[70/3]+[70/9]+[70/27]=23+7+2=32個。


「またガウス記号」

「便利なツールは積極的に使う。2を飛ばしてしまったが、2の個数は64の倍数まで調べる必要がある」


 70/2+[70/4]+[70/8]+[70/16]+[70/32]+[70/64]=35+17+8+4+2+1=67


「70!は2が67個もあるんだ。でも、3より小さいよ」

2 67 =2・4 33とすれば、4が33個で3より大きくなる。安藤、考え方はこれで合ってる?」

「合ってる」


 5の個数は70/5+[70/25]=14+2=16個。7の個数は70/7+[70/49]=10+1=11個。


「この時点で3以上の約数は32+33+16+11=92個。

 11の個数は[70/11]=6 個、13の個数は[70/13]=5個。これで3以上の約数が103個になった。


「これで70!が最も大きい数であることが示せた」


 まあ、3 2=9だから、11で止めてもよかったんけどな。


 一応筆算で計算したが、この程度であれば関数電卓で概算値が求められる。Webの電卓で計算すると

 

 2 150は1.4272477e+45

 3 100は5.1537752e+47

 70!は1.197857e+100


 と表示された。これはE表記でeは指数を意味するexponentの略。決してerrorではない。

 指数表記だとそれぞれ1.4272477・10 45、5.1537752・10 47、1.197857・10  100となる。結果だけ見ると70!がダントツで大きいな。

 

「応用すれば0の個数も数えられるね」

「どういうこと?」

「階乗は値が大きくなるほど、後ろに並ぶ0の個数も増える」と成宮。


 10!=3628800

 20!=2432902008176640000

 30!=265252859812191058636308480000000


「なんでか分かる?」


 愛華は深く考え込んでいえが、結局、肩をすくめた。

  

「2と5の個数が増えたからだよ。100を素因数分解すると2 25 2で1000は2 35 3だ」

「2と5が1ずつ増えると、後ろの0が1つ増えるのね」

「その通り」


 2の個数>5の個数だから、0が並ぶ個数を調べたいとき、5の個数だけ計算すればいい。だから100!は


 100/5+100/25=20+4=24個。


「100!は後ろに0が24個も並ぶんだ。1000!や10000!だったら0の個数も相当増えるんだろうね」

「なんなら計算してみる?」


 成宮はそう言ってスマホを取り出した。ノートは使わないんだな。


 1000!

 1000/5+1000/25+1000/125+[1000/625]=200+40+8+1=249個。

 

 10000!

 10000/5+10000/25+10000/125+10000/625+[10000/3125]=2000+400+80+16+3=2499個。

 

「これ規則性があるっぽいね」

「ある。nを2以上の整数として、10n!に0が並ぶ個数を求める一般式は25・10  n-2-1」

「じゃあ、1億の階乗は24999999個も0が並ぶの? やばっ」


 ちなみに、階乗のおおよその値はスターリングの公式、n!=√2πn(n/e) nで求められる。eは自然対数の底で、おおよその値は2.718だ。1000!にまでなると電卓では扱えないが、桁数を求めることは可能だ。


 [1/2・log(10)2・π・1000+1000・log(10)(1000/e)]=2567

 

 つまり、1000!は2568桁で後ろに0が249個並んでいるということになる。10%近くが0で埋め尽くされているのか。すごいな階乗。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る