お株を奪うような非常にシンプルかつ興味深い設問です。Wikipediaに掲載されている情報によれば1000以下の素数は全部で168個存在するようですが、円周率の桁宜しく素数を丸暗記しているような猛者でもない限り全てを試験場で書き出す解法は現実的ではありません。1000以下の自然数から「素数になり得る候補」をどのように絞り込んでゆくかが、本問を解く上での鍵となります。ある集合Xに属する要素の総数をn(X)のと表現する。30の倍数であるもの全体の集合である。従ってこれら集合に属する要素の総数は以下の通りである。5の少なくとも1つ以上で割り切れる1000以下の正の整数)の総数は以下の通り計算できる。734更にUの要素のうち2でも3でも5でも割り切れないものの集合をDとすると、DはA∨B∨CのUに関する補集合である為以下の式が成立する。5を除く1000以下の素数は全て集合Dに属する。従って集合Dに属する素数が247個以下であることを示せば良い。23について、それぞれの2乗はいずれも合成数かつ集合Dの要素である。15個存在するが、これらもまた合成数かつ集合Dの要素である。従って集合Dには少なくとも6+15=21個の合成数が属しており、これにより集合Dに属する素数は最大でも266-21=245個である。5を含めても1000以下の素数は高々248個であるので、1000以下の素数が250個以下である事が証明された。コメント上記解答の背景となっているのが、「エラトステネスの篩」と呼ばれる有名な素数探索アルゴリズムです。これは2以上N以下の自然数(1は素数でない為最初から除かれている)について、2の倍数、3の倍数、5の倍数....と小さな素数から順番にその倍数(自身を除く)を除外してゆき、素数が√Nに達するまで繰り返すという非常に単純な方法です。31.6...)なので、2から31まで素数について順に「篩」にかけることで1000以下の素数を全て求める事は出来ますが、流石にそこまでしている時間はありません。5という3つの「篩」を利用する事で、素数となる可能性のある自然数の絞り込みを行う事としました。5を含めて269個の自然数が残ってしまいました。そこで今回は残る素数の候補から19個以上の合成数を直接除外する方針を取ることしました。19個を直接書き出そうとするとかなり大変である為、上記解答のように工夫が必要となります。シンプルで興味深い題材で歯ごたえはありますが、さりとて全く手が付かない訳ではない絶妙な難易度設定となっています。7のいずれでも割り切れない1000以下の自然数は全部で228個)。4つの要素に対する和集合の取り扱い方を知っていれば、計算量こそ多いですが試験時間内に解答する事は十分に可能です。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。(必須)サイト%d人のブロガーが「いいね」をつけました。