Mathematics
Examination
Test
Archives
素数探索プロジェクトGIMPS(Great Internet Mersenne Prime Search)は年月日(米国時間),新たな最大素数が発見されたと発表した.GIMPSはインターネットを通じ,参加者のコンピュータの余剰処理能力などを利用して,解析,検証作業などを行い新たなメルセンヌ素数の発見を目指している団体である.この最大素数は,セントラル・ミズーリ大学のカーティス・クーパー教授のコンピュータ上で,月日に発見されたという.
ここでメルセンヌ素数について説明する前に,簡単に素数について復習しておこう.
素数とはと自分自身以外に正の約数を持たない以上の整数のことである.素数でない以上の整数を合成数とよぶ.
を自然数としたときをメルセンヌ数という.このメルセンヌ数をで表すこととする.メルセンヌ数が素数であるときに,これをメルセンヌ素数とよぶ.例えばはメルセンヌ素数となる.
は,現在分かっている中では番目のメルセンヌ素数である.
メルセンヌ数がもつ性質について紹介する.
が合成数であるが合成数である
この性質は以下のように証明できる.まず,
と表すことができる.つまり,メルセンヌ数は等比数列の部分和の形で表される.一方が合成数であることから(ただし,は以上未満の整数)の形で表すことができる.これより,
ここで,はともに以上であることから,
となるため,は合成数となることが示された.
[設問1] 等式を証明しなさい.
[設問2] 今回見つかった最大素数を何冊かのノートに,進数で印刷することを考える.枚の紙に桁の数字を印刷するとしたときに,最大素数を印刷するためには,冊あたり枚印刷できるノートが,少なくとも何冊必要かを答えなさい.ただし,をとして計算しなさい.
[設問3] 本文で述べた性質をもとに,メルセンヌ数の以上未満の約数をつ答えなさい.
[設問4] 本文で述べた性質をもとに,「が素数であるは素数である」を証明しなさい.
自然数の各桁の数字を,一の位から順番に出力する処理を考える.たとえば,の場合,の潤で出力する.
ここで,つの自然数について,
を満たす整数を商,整数を余りとし,それぞれ,と表す.すなわち,
である.
このとき,自然数の一の位の数字は,で求めることができる.また,の十の位の数字は,によって得られる.このことを利用すれば,入力された自然数の各桁の数字を一の位から順番に出力する処理は,次の手順で実現される.ここで,は変数への値の代入を表す.
自然数の各桁の数字を一の位から順番に出力する手順
Step-1 | を入力 |
Step-2 | |
Step-3 | を出力 |
Step-4 | |
Step-5 | が成り立つならば終了し,そうでなければStep-2へ戻る. |
[設問1] 本文にあるように,入力された自然数の十の位の数字が,によって得られることを,入力するを桁の自然数とした場合について示しなさい.ここで,は,それぞれ千の位,百の位,十の位,一の位の数字を表す.
[設問2] 本文にある「自然数の各桁の数字を一の位から順番に出力する手順」をもとに,図1のフローチャートを完成させるために,図中(ア)にあてはまる処理,および(イ)にあてはまる条件を,それぞれ求めなさい.なお,フローチャートの記号の意味は,図2の通りとする.
図1 フローチャート |
手順の流れは原則として「上から下へ」進む. 図2 フローチャートの記号 |
Step | |||
[設問3] 本文にある「自然数の各桁の数字を一の位から順番に出力する手順」において,Step-1でを入力したとき,各Stepの実行が終了した時点での変数との値を,右の表にならって,この手順が終了するまで,順番にすべて答えなさい.
[設問4] 本文にある「自然数の各桁の数字を一の位から順番に出力する手順」をもとにして,「自然数の桁数を出力する手順」を答えなさい.例えば,を入力したときは,を出力する.なお,新たな変数を用いてもよい.