(57)【要約】【課題】素数判定に関する情報を簡易かつ整理された情報として確認する。【解決手段】任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表Ｔ１を作成するプログラムであって、２から３０までに出現する素数及び１を素数格納配列部１２１に格納して、素数候補表Ｔ１の横軸Ｘの各列として描画し、素数格納配列部１２１に格納された各素数に対して３０を加算し、加算した値を素数候補表Ｔ１の次行の各列として追加し、各列の値を処理対象値としてピックアップし、各処理対象値を、素数格納配列に含まれる値で除し、整数で割り切れた場合には処理対象値に対応する列に、素数でないこととを示す数式と除外フラグを描画し、割り切れない場合には、処理対象値を、素数であるとして素数格納配列部１２１に格納し、素数として描画する。また、このような素数候補表を用い、数学パズルやモバイルゲーム等の知育教材を作成することができる。【選択図】  図２
2011227493.tif 000002
【特許請求の範囲】
【請求項１】
任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表を作成するプログラムであって、コンピュータに、
２から３０までに出現する素数、及び１を、それぞれ出現順に素数格納配列に格納して記憶領域に保持するとともに、該素数格納配列に含まれる各値を、前記素数候補表の横軸の各列として描画する横軸描画ステップと、
前記素数格納配列に格納された各値に対して３０を加算し、加算した値を前記素数候補表の次行の各列として追加する次行描画ステップと、
前記次行に含まれる各列について、前記素数格納配列の２、３及び５に対応する列をスキップしながら、各列の値を処理対象値として順次ピックアップし、各処理対象値を、前記素数格納配列に含まれるそれぞれの素数で除し、割り切れた場合には、該処理対象値に対応する列に、素数でないことを示す除外フラグを描画し、割り切れない場合には、当該処理対象値を、素数であるとして前記素数格納配列に格納し、前記記憶領域に保持させる除外フラグ描画ステップと、
前記除外フラグ描画ステップの対象となっている前記処理対象値が、前記ターゲット値よりも大きいか否かを判断し、該処理対象値が該ターゲット値以下である間は、前記次行描画ステップ及び除外フラグ描画ステップを繰り返し、該処理対象値が該ターゲット値よりも大きくなった時点で、前記素数候補表を完成させる最終描画処理を実行する終了判定ステップと
を含む処理を実行させることを特徴とする素数候補表の作成プログラム。
【請求項２】
前記横軸描画ステップにおいて、前記ターゲット値を３０で除した余りが、前記１、及び２から３０までに出現する素数に該当するか否かを判断し、該当する場合には、前記横軸描画ステップ以降の処理を実行し、該当しない場合には、前記素数候補表を作成することなく前記最終処理を実行する、前処理ステップをさらに含むことを特徴とする請求項１に記載の素数候補表の作成プログラム。
【請求項３】
任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表を、筒状の素数塔として構築する知育教材であって、
環状に配列されることによって前記素数塔を構成する各層を形成し、表面に数字や図形、記号等が表現される多数の単位ブロックと、
前記素数塔を構成する各層に含まれる単位ブロックのうち最大又は最小の値が表現され、現在の層に属する隣接ブロック及び上層又は下層に属する隣接ブロックの両方に対し両側面で接触する繰上用ブロックと
から構成され、
前記素数塔を構成する各層のうち、基準となる基準層に属する単位ブロック及び繰上用ブロックには、２から３０までに出現する素数及び１が、それぞれ出現順に素数格納配列として表現され、
前記基準層の上層又は下層に属する単位ブロック及び繰上用ブロックには、前記素数格納配列に格納された各値に対して３０又は−３０を加算した値が、前記素数候補表の次行の各列として表現され、
前記次行に含まれる各列について、前記素数格納配列の２、３及び５に対応する列に属する単位ブロックには、その属する列の特徴を示すスキップマークが表現されている
ことを特徴とする素数塔用知育教材。
【請求項４】
前記単位ブロック及び繰上用ブロックには、単位ブロックに表現された値を処理対象値とし、前記素数格納配列に含まれるそれぞれの素数で、各処理対象値を除して割り切れた場合には、該処理対象値に対応するブロックに、素数でないことを示す除外フラグが表現され、
単位ブロックの前に配列されるべきブロックのうち前記除外フラグが表現されていないブロックの値で、前記各処理対象値を除して割り切れない場合には、当該処理対象値が、該処理対象値に対応するブロックに、素数であるとして素数フラグが表現されている
ことを特徴とする請求項３に記載の素数塔用知育教材。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、素数候補表を作成する素数候補表の作成プログラム及び、素数候補表を利用した素数塔用知育教材に関する。
【背景技術】
【０００２】
素数とは、１より大きな自然数であって、１とその数自身以外に正の約数がない数値をいい、従来、自然数や整数の積を考える上で基本的な構成要素であり、数論、暗号理論等において重要な役割を果たしている。例えば、電子情報の認証手段としての暗号技術では、素数のもつ性質を利用し、秘密鍵として２つの素数を使用したＲＳＡ方式が利用されている。
【０００３】
ここで、ある整数が素数か否かを判定する素数の判定方法には、与えられた自然数 n を「合成数である」または「不明である」と判別する確率的アルゴリズムに基づく確率的素数判定法であるミラーラビン素数判定法等（例えば、非特許文献１）や、与えられた自然数ｎを「素数である」あるいは否と判定する決定的アルゴリズムに基づく決定的素数判定であるＡＫＳ素数判定法等がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】W. R. Alford, A. Granville and C. Pomerance, On the difficulty of finding reliable witnesses, in: Algorithmic Number Theory, First International Symposium, Proceedings (L. M. Adleman, M.-D. Huang, eds.), LNCS 877, Springer-Verlag, 1994, pp. 1?16. Carl Pomerance, List of Papers, 96.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された素数判定法等は、ある数値が素数であるか否かを一つずつ調べていく方法であり、これら素数の判定結果に関する情報を纏めるのは、ユーザー自身であるため、素数であるか等の情報をノートに記載することや、情報処理端末等に入力することは、その作業が煩雑になるとともに、情報が整理されていないと、閲覧時に誤認してしまう問題や、出現パターンが不明確であるという問題があった。
【０００６】
そこで、本発明は、上記のような問題を解決するものであり、任意の数字が素数に該当するかの判定結果を素数候補表として作成して表示させることで、素数判定に関する情報を簡易かつ整理された情報として確認することができる素数候補表作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表を作成するプログラムであって、
（１）コンピュータに、２から３０までに出現する素数、及び１を、それぞれ出現順に素数格納配列に格納して記憶領域に保持するとともに、素数格納配列に含まれる各値を、素数候補表の横軸の各列として描画する横軸描画ステップと、
（２）素数格納配列に格納された各素数に対して３０を加算し、加算した値を素数候補表の次行の各列として追加する次行描画ステップと、
（３）次行に含まれる各列について、素数格納配列の２，３及び５に対応する列をスキップしながら、各列の値を処理対象値として順次ピックアップし、各処理対象値を、素数格納配列に含まれるそれぞれの素数で除し、整数で割り切れた場合には、処理対象値に対応する列に、素数でないことを示す除外フラグを描画し、整数で割り切れない場合には、当該処理対象値を、素数であるとして素数格納配列に格納し、記憶領域に保持させる除外フラグ描画ステップと、
（４）除外フラグ描画ステップの対象となっている処理対象値が、ターゲット値よりも大きいか否かを判断し、処理対象値がターゲット値以下である間は、次行描画ステップ及び除外フラグ描画ステップを繰り返し、処理対象値がターゲット値よりも大きくなった時点で、素数候補表を完成させる最終描画処理を実行する終了判定ステップとを含む処理を実行させる。
【０００８】
なお、スキップ処理の際、非素数であることを示すメッセージを即時に表示させる機能を有してもよい。具体的には、入力された数値を認識し、２桁以上の数の末尾が０、偶数、及び５である時には、即座に非素数であることを示すメッセージやアニメーション等を表示させる。また、除外フラグを描画する際には、例えば、素数でないことを表現するために、当該処理対象値の因数分解（素数を約数に含む）の式を表示してもよい。
【０００９】
このような発明によれば、素数格納配列に記憶された素数に基づいて、ターゲット値が素数か否かの判定を実行するとともに、その判定結果を素数候補表として出力するので、素数判定に関する情報を簡易かつ整理された情報として確認することができる。また、本発明によれば、このような素数候補表を使用することで、例えば、素数の出現場所が予想可能となり、素数の性質がより掴み易くなるとともに、非素数の出現（若しくは判別）が可能となる。
【００１０】
また、本発明は、除算処理を行った値が素数である場合には、その値を素数格納配列に記録して、その素数格納配列に追加された素数に基づき、次行の各列に描写された処理対象値に対して除算処理を行うので、予め、素数格納配列に記録する素数は最小限とすることができ、記憶領域の有効活用することができる。また、次行から発生する処理対象値についても、新たに格納した素数に基づいて素数判定を実行できるので、素数判定の確率が向上される。
【００１１】
上記発明において、横軸描画ステップでは、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当するか否かを判断し、該当する場合には、横軸描画ステップ以降の処理を実行し、該当しない場合には、素数候補表を作成することなく最終処理を実行する前処理ステップを有することが好ましい。この場合には、表作成処理の前処理として、素数のふるい分け処理を行い、不要な処理を省略し、それ以降の演算処理時間を短縮することができる。
【００１２】
また、他の発明では、任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表を、筒状の素数塔として構築する知育教材であって、環状に配列されることによって前記素数塔を構成する各層を形成し、表面に数字や図形、記号等が表現される多数の単位ブロックと、前記素数塔を構成する各層に含まれる単位ブロックのうち最大又は最小の値が表現され、現在の層に属する隣接ブロック及び上層又は下層に属する隣接ブロックの両方に対し両側面で接触する繰上用ブロックとから構成される。
【００１３】
そして、前記素数塔を構成する各層のうち、基準となる基準層に属する単位ブロック及び繰上用ブロックには、２から３０までに出現する素数、及び１が、それぞれ出現順に素数格納配列として表現され、前記基準層の上層又は下層に属する単位ブロック及び繰上用ブロックには、前記素数格納配列に格納された各値に対して３０又は−３０を加算した値が、前記素数候補表の次行の各列として表現されている。さらに、前記次行に含まれる各列について、前記素数格納配列の２、３及び５に対応する列に属する単位ブロックには、その属する列の特徴を示すスキップマークが表現されている。
【００１４】
なお、繰上用ブロックについては、「３０」を周期とする繰り上がりについての理解を助けるために、素数格納配列には格納されない、０に対応する列（０，３０，６０…）を表現するようにしてもよい。
【００１５】
このような発明によれば、例えば、表面に数値及び素数配列Ｘｎなどの数字や図形、記号等が表現されるブロックを数値の出現順に組立てることで、立体的に素数候補表が表現され、素数格納配列の２、３及び５に対応する列に属する単位ブロックには、その属する列の特徴を示すスキップマークを表現させているので、素数判定に関する情報を簡易かつ整理された情報として確認することができる。これにより、例えば、遊びながら素数の出現場所が視覚を通じて記憶され、素数の性質がより理解し易くなる。
【００１６】
上記発明において、前記単位ブロック及び繰上用ブロックには、各ブロックに表現された値を処理対象値とし、前記素数格納配列に含まれるそれぞれの素数で、各処理対象値を除して、整数で割り切れた場合には、該処理対象値に対応するブロックに、素数でないことを示す除外フラグ（数式などを含む。）が表現され、各ブロックの前に配列されるべきブロックのうち前記除外フラグが表現されていないブロックの値で、前記各処理対象値を除して、整数で割り切れない場合には、当該処理対象値が、該処理対象値に対応するブロックに、素数であるとして素数フラグが表現されていることが好ましい。この場合には、筒状の素数塔として構築された各ブロックは、素数であるか否かを各ブロックに表現させているので、遊びながら素数判定に関する情報を簡易かつ整理された情報として確認することができる。
【発明の効果】
【００１７】
以上述べたように、この発明によれば、任意の数字が素数に該当するかの判定に際し、１から当該任意の数字までの判定結果を、素数候補表として作成して表示させることで、素数判定に関する情報を簡易かつ整理された情報として確認することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係る素数候補表作成プログラムを実行するシステムの概略構成を示す説明図である。
【図２】実施形態に係る素数候補表作成システムにおいて、素数候補表作成プログラムを実行する際の動作を示すフローチャート図である。
【図３】実施形態に係るコンピュータのＣＰＵ上に構築される機能モジュールを示すブロック図である。
【図４】実施形態に係る素数候補表の作成過程を示す説明図である。
【図５】実施形態に係る素数候補表の作成過程を示す説明図である。
【図６】実施形態に係る素数候補表の作成過程を示す説明図である。
【図７】実施形態に係る素数候補表の作成過程を示す説明図である。
【図８】実施形態に係る素数候補表作成プログラムを記録したコンピュータ読み取り可能な記録媒体を示す斜視図である。
【図９】第２実施形態に係る知育玩具の外観を示す斜視図である。
【図１０】第２実施形態に係る知育玩具の各ブロックの形状を示す斜視図である。
【図１１】（ａ）〜（ｄ）は、第２実施形態に係る各ブロックの表示態様を示す正面図である。
【図１２】（ａ）は、変更例に係る知育玩具の外観を示す斜視図であり、（ｂ）は、本変更例に係る知育玩具を上部より示す上面図である。
【図１３】変更例に係る知育玩具２２０のブロックの一部分を示す斜視図である。
【発明を実施するための形態】
【００１９】
［第１実施形態］
以下に添付図面を参照して、本発明に係る素数候補表作成プログラムの実施形態を詳細に説明する。図１は、本発明に係る素数候補表作成プログラムが適用される第１実施形態としての素数候補表作成システムの全体構成を示す概念図である。ここでは、予め素数候補表作成プログラムがコンピュータにインストールされている場合を例に説明する。
【００２０】
同図に示すように、素数候補表作成プログラムがインストールされたコンピュータ１に操作デバイス４（マウス４ａ、及びキーボード４ｂ）と、出力装置（モニタ３、及び印刷装置２）とが接続され、ユーザー７が、任意の数字であるターゲット値を入力することで、出力装置から素数候補表を出力することができる。
【００２１】
具体的には、ユーザー７が、コンピュータ１に接続されたキーボード４ｂやマウス４ａを操作し、任意の数字であるターゲット値を入力することで、情報処理内において素数候補表作成プログラムが実行される。そしてコンピュータ１内で、入力されたターゲット値に対して除算処理を実行するとともに、素数候補表Ｔ１を作成し、その素数候補表をモニタ３の表示画面に表示させたり、印刷装置２によって記録媒体６に印刷表示させる。表１は、本実施携帯に係る素数候補表の一例である。ユーザー７は、この素数候補表により数値１からターゲット値（マイナス値も含む）までの素数候補を確認することができる。
【表１】
2011227493.tif 000003
【００２２】
ここで、コンピュータ１は、ＣＰＵを備えた演算処理装置であり、パーソナルコンピュータ等の汎用コンピュータや、機能を特化させた専用装置により実現することができ、例えば、モバイルコンピュータやＰＤＡ（Personal Digital Assistance）、携帯電話機が含まれる。なお、コンピュータ１は、ＬＡＮ等の通信網に接続され、通信網を通じて、プリンタなどの外部機器に対してデータの送受信を行う通信機能を備えているものとする。この通信網としては、例えば、通信プロトコルＴＣＰ／ＩＰを用いて種々の通信回線（電話回線やＩＳＤＮ回線、ＡＤＳＬ回線などの公衆回線、専用回線、無線通信網）を相互に接続して構築される分散型のＩＰ網が挙げられ、このＩＰ網には、インターネットの他、１０ＢＡＳＥ−Ｔや１００ＢＡＳＥ−ＴＸ等によるイントラネット（企業内ネットワーク）や家庭内ネットワークなどのＬＡＮなども含まれる。
【００２３】
印刷装置２は、例えば、上記通信網や、ＵＳＢ接続を介して、コンピュータ１に接続され、コンピュータ１から送られた印刷データに基づいて、素数候補表の印刷を行うことができる。モニタ３は、例えば、液晶ディスプレイ等の表示装置であり、アプリケーションによって生成されるウィンドウを通じて、映像や文字などを表示することができる。操作デバイス４は、ユーザー操作を操作信号としてコンピュータ１に入力する操作デバイスであり、マウス４ａ、及びキーボード４ｂ等のボタンの他、ジョグダイヤルや、タッチパネル等であってもよい。そして特に本実施形態において、操作デバイスは、任意のターゲット値を取得したり、素数候補表作成処理の開始及び停止等の操作を受け付ける操作部として機能する。
【００２４】
（素数候補表作成プログラム）
上述した本実施形態係る素数候補表作成システムは、所定の言語で記述された素数候補表作成プログラムをコンピュータのＣＰＵ１上で実行することにより実現することができる。図２は、本実施形態に係る素数候補表作成システムにおいて、素数候補表作成プログラムを実行する際の動作を示すフローチャート図である。
【００２５】
先ず始めに、ユーザーが操作デバイス４によって、素数か否かを判断する対象となる任意の数値（ターゲット値）を入力し（Ｓ１０１）、素数候補表作成プログラムを実行する。なお、このとき、コンピュータ１では、２から３０までに出現する素数、及び１を、それぞれ出現順に素数格納配列に格納して記憶領域１２１に保持する（Ｓ１０２）。本実施形態では、この素数格納配列に格納された２から３０までに出現する素数、及び１は、予め初期値として設定ファイルなどに記述され、不揮発性のメモリやハードディスクに記憶保持されており、プログラムの起動時や実行時に適宜読み出され、素数格納配列に代入される。
【００２６】
次に、コンピュータ１は、前処理を行う（Ｓ１１６）。この前処理とは、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当するか否かを判断する処理である。ここで、２から３０までに出現する素数、及び１に該当しない場合（Ｓ１１６における“Ｎ”）、素数候補表を作成することなく最終処理を実行する（Ｓ１１５）。さらに、前処理には、ターゲット値を３０で除する処理を実行する前提として、ターゲット値が２桁以上の数値である場合、その末尾が０、２、及び５であるか否かを判断する処理を実行してもよい。この処理により、ターゲット値の末尾（一の位）が０、偶数（２）、及び５である場合には、３０で除する処理を実行することなく素数候補表を作成しないと判断し（Ｓ１１６における“Ｎ”）、最終処理を実行する（Ｓ１１５）。一方、ターゲット値が１桁の数値である場合や、２桁以上の数値であって、末尾が０、偶数（２）、及び５以外である場合には、３０で除する処理を実行する。
【００２７】
なお、本実施形態では、この前処理によって素数候補表を作成しないと判断した場合には（Ｓ１１６における“Ｎ”）、非素数であるメッセージを即時に表示する処理を実行する（Ｓ１１７）。なお、この非素数であるメッセージの表示に際し、素数でないことを示す、数式（例えば、素数を約数に含む因数分解式）などを表示するようにしてもよい。
【００２８】
一方、前処理において、２から３０までに出現する素数、及び１に該当する場合には（Ｓ１１６における“Ｙ”）、以下の横軸描画処理以降の処理を実行し、現在の素数格納配列に含まれる各値（２から３０までに出現する素数、及び１）を、素数候補表の横軸の各列として描画する（Ｓ１０３）。なお、本実施形態において、この前処理はターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当しない場合であっても、以下の横軸描画処理、素数候補表の次行を追加、素数による除算、及び判定を実行するか否かの選択をユーザーに促すようにしてもよい。この場合には、ターゲット値が記載されない素数候補表が作成され、ターゲット値が素数でない旨を併記することが好ましい。
【００２９】
次いで、コンピュータ１は、素数候補表に描画された各列の値である処理対象値とターゲット値を順次比較し、処理対象値がターゲット値よりも大きいか否かを判断し（Ｓ１０４ａ）、処理対象値がターゲット値を越えるまで、以下の素数候補表の次行を追加、素数による除算、及び判定を繰り返し実行する（Ｓ１０４ａ〜Ｓ１０４ｂ）。
【００３０】
具体的には、先ず、素数格納配列に格納された各素数に対して３０を加算し（Ｓ１０５）、加算した各値を素数候補表の次行の各列として追加する（Ｓ１０６）。そして、コンピュータ１は、追加された次行に含まれる各列に対し、以下の処理を施す（Ｓ１０７ａ〜Ｓ１０７ｂ）。すなわち、次行の各列に含まれる値を処理対象値として順次ピックアップする（Ｓ１０８）。このとき、そのピックアップした値が素数格納配列の２、３及び５に対応する列である場合には、処理を省略して次の列へとスキップする（Ｓ１０９）。
【００３１】
これは、素数格納配列に格納された数値２、３及び５は素数であるものの、素数格納配列に格納された数値２、３及び５に３０の倍数の数値が足された数値は、数値２、３又は５で割り切れる数値であるため、数格納配列の２、３及び５の列に対応するには素数が出現しないからである。
【００３２】
次に、素数格納配列に含まれたそれぞれの素数を順次選択し、選択された処理対象値を除する処理（Ｓ１１１）を、ループ処理で実行する（Ｓ１１０ａ〜Ｓ１１０ｂ）。なお、このステップＳ１１０ａ〜Ｓ１１０ｂの処理は、素数格納配列に含まれる全ての素数値で除算するまで繰り返し実行してもよいが、整数で割り切れた時点で、ループ処理を終了するようにしてもよい。
【００３３】
そして、上記ループ処理（Ｓ１１０ａ〜Ｓ１１０ｂ）を抜けた後、処理対象値が素数格納配列に含まれる値の何れかの値で割り切れた場合には（Ｓ１１２における“Ｙ”）、処理対象値に対応する列に素数でないことを示す除外フラグ（素数でないことを示す、数式（例えば、素数を約数に含む因数分解式）などを含む。）を描画する（Ｓ１１４）。一方、処理対象値が素数配列に含まれる全ての値で割り切れない場合には（Ｓ１１２における“Ｎ”）、当該処理対象値を素数であるとして、素数格納配列の最後尾に格納し、記憶領域に保持させる（Ｓ１１３）。
【００３４】
そして、コンピュータ１は、素数候補表の対象となっている次行の全列に含まれた処理対象値に対して、除外フラグ処理（Ｓ１１４）又は素数格納処理（Ｓ１１３）が終了するまで、ピックアップ処理（Ｓ１０８）、スキップ処理（Ｓ１０９）、及び除算処理（Ｓ１１０）を繰り返し実行する（Ｓ１０７ｂ）。
【００３５】
その後、処理対象値がターゲット値よりも大きくなった時点で、ループ処理（Ｓ１０４ａ〜Ｓ１０４ｂ）を抜けだし、素数候補表を完成させる最終描画処理を実行する（Ｓ１１５）。そして、終了判定処理後に、モニタ３上に素数候補表が表示されるとともに、ユーザ操作によって、印刷装置２によりプリントアウトされる。なお、ここで、前処理の後、描画処理をすることなく、最終描画処理が実行された場合には、整数で割り切れた時の数式をモニタ３等に表示させる。
【００３６】
（機能モジュール）
上述した素数候補表作成プログラムを実行させることにより、コンピュータ１のＣＰＵ上で仮想的に機能モジュールが構築され、コンピュータ１を素数候補表作成システムとして利用することができる。図３は、本実施形態に係るコンピュータ１のＣＰＵ上に構築される機能モジュールを示すブロック図である。
【００３７】
図３に示すように、コンピュータ１には、出入力系のモジュールとして、入力インターフェイス１０１と、出力インターフェイス１０２と、操作信号取得部１０３とを備えている。
【００３８】
入力インターフェイス１０１は、マウス４ａやキーボード４ｂ等の操作デバイス４が接続され、その操作信号が入力されるモジュールである。本実施形態において、入力インターフェイス１０１は、ユーザー７が入力した任意の数字であるターゲット値を操作信号として操作信号取得部１０３へ入力する。出力インターフェイス１０２は、映像及び音声の出力信号を、モニタ３及びスピーカーからそれぞれ出力させるモジュールである。また、本実施形態において、出力インターフェイス１０２は、演算処理部１１０から受信した画像情報をモニタ３、又は印刷装置２へ出力する。
【００３９】
操作信号取得部１０３は、ユーザー操作による操作信号を、入力インターフェイス１０１から受信するモジュールであり、受信した操作信号を解析し、ユーザー操作に応じた処理を他のモジュールに実行させる。特に、本実施形態において、この操作信号取得部１０３は、素数候補表作成の命令信号及び、任意の数値を受信した場合には、この命令信号及び数値に関する信号を演算処理部１１０に入力する。
【００４０】
また、コンピュータ１には、素数候補表作成系のモジュールとして、演算処理部１１０と、記憶部１２０とを備えている。
【００４１】
記憶部１２０は、素数候補表に関する情報を記憶するメモリ装置等であり、本実施形態において、記憶部１２０には、素数格納配列部１２１と、素数候補表記憶部１２２とを備えている。
【００４２】
記憶部１２０は、素数データを出現順に素数格納配列に格納して保持する記憶領域である。特に本実施形態において、素数格納配列部１２１には、予め２から３０までに出現する素数、及び１を素数格納配列に出現順に格納して記憶、保持している。また、記憶部１２０は、演算処理部１１０から送信された素数データについても、素数格納配列に出現順に格納する機能を有している。
【００４３】
素数候補表記憶部１２２は、演算処理部１１０において実行される描画処理で使用される素数候補表データを保持する記憶領域であり、演算処理部１１０からの制御により、素数候補表を演算処理部１１０と送受信する。
【００４４】
演算処理部１１０は、ＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、構築された各機能モジュールによって、素数候補表作成に関する処理や、各部の動作制御、ユーザー操作に対する種々の処理を行う。
【００４５】
本実施形態において、演算処理部１１０には、横軸描画部１１１と、次行描画部１１２と、ピックアップ判断部１１３と、処理対象値演算部１１４と、除外フラグ描画部１１５と、終了判定部１１６と、画像情報生成部１１７とを備えている。
【００４６】
横軸描画部１１１は、操作信号取得部１０３からの操作信号に基づいて、記憶部１２０から素数候補表を抽出するとともに、素数格納配列に含まれる各値を、素数候補表の横軸の各列として描画するモジュールである。次行描画部１１２は、素数格納配列に格納された各素数に対して３０を加算し、加算した値を素数候補表の次行の各列として追加するモジュールである。
【００４７】
また、横軸描画処理部１１１には、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当するか否かを判断する前処理機能を備えている。本実施形態において、横軸描画処理部１１１は、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当する場合には、素数候補表の横軸の各列として描画する処理を実行する。一方、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当しない場合には、素数候補表を作成することなく最終処理を実行する信号を最終描画処理部１１５ａに送信する。なお、本実施形態において、この前処理機能には、前処理の判断結果をユーザーに通知し、その後の処理を続行するか否かの判断を促す機能も備えていてもよい。
【００４８】
ピックアップ判断部１１３は、次行に含まれる各列について、素数格納配列の２、３及び５に対応する列をスキップしながら、各列の値を処理対象値として順次ピックアップするモジュールである。
【００４９】
処理対象値演算部１１４は、ピックアップ判断部によりピックアップされた各処理対象値を、素数格納配列に含まれるそれぞれの値で除算するモジュールである。そして、処理対象値演算部１１４は、対象となった処理対象値の除算結果を、除外フラグ描画部１１５に送出する。ここで、処理対象値の除算結果には、何れかの素数格納配列に含まれる値で割り切れた結果と、素数格納配列に含まれる全ての値で割り切れなかった結果とが含まれる。また、処理対象値演算部１１４は、処理対象となっている値を終了判定部１１６に入力する。
【００５０】
除外フラグ描画部１１５は、処理対象値演算部１１４から入力された信号に基づいて、素数候補表に除外フラグを描画するモジュールである。具体的に、除外フラグ描画部１１５は、処理対象値演算部１１４から入力された信号が、何れかの値で割り切れた信号である場合には、処理対象値に対応する列に、素数でないことを示す除外フラグを描画する。なお、この除外フラグの描画では、例えば、素数でないことを示す、数式（例えば、素数を約数に含む因数分解式）などを表示する処理も含まれる。
【００５１】
さらに、除外フラグ描画部１１５には、処理対象値演算部からの信号が、素数格納配列に格納された全ての値で割り切れない信号であった場合には、処理対象となっている処理対象値を、素数であるとして素数格納配列に格納し、記憶領域に保持させる機能も備えている。
【００５２】
終了判定部１１６は、処理対象値演算部１１４から入力された処理対象値が、操作信号取得部１０３から取得したターゲット値よりも大きいか否かを判断するモジュールである。終了判定部１１６は、判断の結果、処理対象値がターゲット値以下である間は、ピックアップ判断部１１３に処理続行の信号を入力し、処理対象値がターゲット値より大きいと判断した場合には、その判断結果信号を最終描画処理部１１５ａに入力する。
【００５３】
最終描画処理部１１５ａは、終了判定部１１６からの信号に基づいて、素数候補表を完成させる最終描画処理を実行する。具体的に、最終描画処理部１１５ａは、終了判定部１１６からの信号を受信すると、現在、処理が実行されている行を最終行として素数候補表を作成するとともに、素数候補表に描画された情報を画像情報生成部１１７へ入力する。また、最終描画処理部１１５ａは、横軸描画処理部１１１の前処理によって、素数候補表を作成することなく最終処理を実行する信号を受信した場合には、例えば、ターゲット値は、素数でない旨を通知するメッセージ等を含む画像情報及び、整数で割り切れたときの数式を生成し、モニタ３等に表示させる。
【００５４】
画像情報生成部１１７は、印刷処理や画像表示に必要な画像データの変換等を行い、印刷処理及び画像表示を実行するモジュールである。具体的に、画像情報生成部１１７は、最終描画処理部１１５ａで処理された素数候補表データを画像信号に変換し、モニタ３の表示画面に出力可能な信号を生成する機能や、印刷の処理単位であるジョブデータを受信し、このジョブデータに含まれる印刷に必要な画像データの変換等を行い、印刷を実行させる機能を備えている。また、画像情報生成部１１７には、ジョブデータを受信する通信インターフェースや、ＲＧＢ印刷画像をＣＭＹＫ印刷画像に変換する色変換回路、各色のインクヘッドの駆動及び搬送経路の駆動手段の動作を制御し、画像形成処理全体を制御する画像形成制御機能が含まれる。
【００５５】
（素数候補表作成方法）
上述したＣＰＵ上に仮想的に構築された機能モジュールを動作させることで、本実施形態における素数候補表が作成される。以下に、本実施形態に係る素数候補表が作成される動作を説明する。図４、図５、図６、及び図７は、本実施形態に係る素数候補表の作成過程を示す説明図である。なお、本実施形態においては、ターゲット値を３３７として、入力された場合を例として説明するものとする。
【００５６】
先ず、コンピュータ１では、数値１及び３〜３０までに出現する素数を、それぞれ出現順に素数格納配列部１２１に格納して記憶領域に保持されており、この素数格納配列部１２１に格納された素数にそれぞれ配列番号を付与している。具体的には、図４（ａ）に示すように、２から３０までの素数及び１を、それぞれ、１＝Ｘ１，２＝Ｘ２，３＝Ｘ３，５＝Ｘ４，７＝Ｘ５，１１＝Ｘ６，１３＝Ｘ７，１７＝Ｘ８，１９＝Ｘ９，２３＝Ｘ１０，２９＝Ｘ１１とする。
【００５７】
そして、ユーザーが操作デバイス４によって、素数か否かを判断する任意の数値（例えば、３３７）を入力し、素数候補表作成プログラムが実行されると、その操作信号は、操作信号取得部１０３から横軸描画部１１１と、終了判定部１１６へ入力される。
【００５８】
横軸描画部１１１は、操作信号を受信すると、まず、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当するか否かを判断する。ここで、入力されたターゲット値３３７を、３０で除した場合、その余りは、７であるので、２から３０までに出現する素数、及び１に該当すると判断し、以下の横軸描画処理以降の処理を実行する。
【００５９】
次いで、横軸描画部１１１は、図４（ａ）に示すように、素数格納配列部１２１に格納された各値を抽出し（Ｐ１）、素数候補表の横軸の各列として出現順に描画する。具体的に、横軸描画部１１１は、横軸の各列の欄に配列番号Ｘ１〜Ｘ１１と、その素数配列番号に該当する素数値とを表記する（Ｐ２）。
【００６０】
次いで、次行描画部１１２は、素数候補表の縦軸Ｙを作成する。具体的に、次行描画部１１２は、横軸の各列の欄に記載された各素数値と、数値３０に縦軸の各列番号を乗じた数とを加算していく。例えば、縦軸の一列目には、図４（ａ）に示すように、各素数値に３０×１列目の数値である３０を加算する。ここで、素数格納配列の数値２、３及び５に対応する列Ｘ２，Ｘ３，及びＸ４である各列には、加算処理は行わない。これは、Ｘ２，Ｘ３及びＸ４である各列は、常に末尾が２、３又は５であり、且つ、横軸の各列には３０の倍数が加算されていくため、素数候補表に記載される数値は、全て２、３、又は５の倍数となり、この欄に記載される数値には素数は発生しないためである。したがって、Ｘ１の欄には３１が記載され、Ｘ２，Ｘ３及びＸ４の欄をスキップして、Ｘ５の欄からＸ１１の欄に、それぞれ、３７，４１，…５９を素数候補表の次行の各列に追加する（Ｐ３）。ここで、縦軸Ｙの欄には、縦軸の番号であるＹと、横軸の各列に記載された値に加算した数値３０とを記載する。
【００６１】
そして、ピックアップ判断部１１３は、次行に含まれる各列について、各列の値を処理対象値として順次ピックアップする。具体的には、図４（ｂ）に示すように、まず、次行の各列の最初に記載された３１を処理対象値として、ピックアップする（Ｐ４）。この際、ピックアップ判断部１１３は、ピックアップした値が素数格納配列の数値２、３及び５に対応する列Ｘ２，Ｘ３及びＸ４である場合にはスキップ処理をする。これは、Ｘ2，Ｘ3及びＸ４の表上の縦列は、２の倍数、３の倍数、かつ５の倍数である３０を順次足すため、この縦列に記載される数値は、常にＸ2、Ｘ3及びＸ４の倍数であり、この各列に素数は出現しないためである。
【００６２】
ピックアップ判断部１１３は、処理対象値であると判断した場合には、その信号を処理対象値演算部１１４に入力する。本実施形態において、図４（ｂ）に示すように、横軸Ｘ１，縦軸Ｙ１に描画された値３１は、素数格納配列の２、３及び５に対応する列ではないので、処理対象値としてピックアップされる。
【００６３】
処理対象値演算部１１４は、受信した信号から、処理対象値を素数格納配列に記憶された配列番号Ｘ１〜Ｘ１１の各素数値で除算処理する（Ｐ５）。ここで、コンピュータ１は、処理対象値に対して、素数格納配列に含まれる素数値によって、それぞれ除する処理を繰り返し実行する。
【００６４】
ここで、処理対象値が、素数配列に含まれる全ての素数で割り切れない場合には、処理対象値が素数であるとして、その素数に、新たな配列番号Ｘｎを付与するとともに、素数格納配列の最後尾に格納し、記憶領域１２１に保持させる。具体的には、図５（ａ）に示すように、処理対象値３１は、配列番号Ｘ１〜Ｘ１１の各素数では、割り切ることができないので、素数格納配列部１２１に記憶されている配列番号の次番号であるＸ１２を付与し、素数候補表に描画する（Ｐ６）。そして、その素数３１を配列番号Ｘ１２と関連付けして、素数格納配列部１２１に記憶させる（Ｐ７）。
【００６５】
一方、処理対象値が素数格納配列に含まれる値の何れかで割り切れた場合には、非素数が出現したとして、処理対象値に対応する列に、素数でないことを示す除外フラグを描画する。具体的には、図５（ｂ）に示すように、処理対象が移動し、処理対象値が４９の場合（Ｐ８）、処理対象値４９は、素数７の数値で割り切れる数値であるので、除外フラグ描画部１１５は、割り切れた場合の数式（（Ｘ５）２、及び（７）２等）を記入し（Ｐ９）、対象処理値上に取消し線を記入し、非素数であることを示す処理を行う。
【００６６】
また、処理対象値演算部１１４は、除算処理する処理対象値を終了判定部１１６に入力する。そして、終了判定部１１６は、対象となっている処理対象値が、ターゲット値よりも大きいか否かを判断する。本実施例では、処理対象値である数値４９は、ターゲット値である数値３３７よりも小さい値であるので、図５（ｂ）に示すように、次の列に記載された処理対象値（数値５９）について、ピックアップ処理を実行し、演算処理の後に除外フラグ描画処理を実行する。このように、処理対象値がターゲット値以下である間は、ピックアップ処理から除外フラグ描画処理までの処理を繰り返し実行する（Ｐ１０）。
【００６７】
さらに、横軸Ｘ１１の欄の処理対象値が終了した後も、処理対象値がターゲット値以下である場合は、次行描画部１１２は、縦軸Ｙの行２Ｙに各値を追加する処理を行う。具体的には、図６（ａ）に示すように、横軸の各列の欄に記載された各素数値と、数値３０に対して縦軸の列番号である２を乗じた数である数値６０とを加算し、横軸の各列に値を描画する（Ｐ１１）。ここでも、素数格納配列の数値２、３及び５に対応する列Ｘ２，Ｘ３及びＸ４である各列には、加算処理は行わない。なお、本実施形態において、素数格納配列部１２１には、それまでの処理で素数と判定された値が配列番号と関連付けて記録されており、次回の除算処理において使用される。そして、図６（ｂ）に示すように、配列番号Ｘ１の列から順次、ピックアップ処理から除外フラグ描画処理を繰り返し実行する（Ｐ１２）。
【００６８】
その後、図７に示すように、上記の処理を繰り返し、処理対象値が３４１となった場合、処理対象値演算部１１４は、終了判定部１１６に処理対象値３４１の情報を入力することで、終了判定部１１６は、処理対象値がターゲット値よりも大きいと判定し、最終描画処理部１１５ａに終了信号を送出する。そして、最終描画処理部１１５ａは処理している列と、それ以降の各列に対して終了フラグを描画し（Ｐ１３）、表１に示すような素数候補表を完成させる。
【００６９】
画像情報生成部１１７は、最終描画処理部１１５ａで処理された素数候補表データを画像信号に変換し、モニタ３の表示画面に出力可能な信号を生成したり、印刷の処理単位であるジョブデータを受信し、このジョブデータに含まれる印刷に必要な画像データの変換等を行い、印刷を実行させる。
【００７０】
（素数候補表作成プログラムの記録媒体）
なお、上述した素数候補表作成プログラムは、図８に示すような、汎用コンピュータ１で読み取り可能な記録媒体８１〜８４に記録することができる。具体的には、同図に示すような、フレキシブルディスク８１やカセットテープ８４等の磁気記録媒体、若しくはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ８２等の光ディスクの他、ＲＡＭカード８３など、種々の記録媒体に記録することができる。本実施形態は書き込み不可のＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ８２中にあるコンテンツに対してリンクを設けることができる特徴を有する。
【００７１】
そして、この素数候補表作成プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、汎用のコンピュータや専用コンピュータを用いて、上述した効果を奏するシステムや方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【００７２】
（作用・効果）
このような実施形態によれば、素数格納配列部１２１に記憶された素数に基づいて、ターゲット値が素数か否かの判定に際し、１から当該ターゲット値までの判定結果を素数候補表として出力するので、素数判定に関する情報を簡易かつ整理された情報として確認することができる。これにより、例えば、素数の出現場所が予想可能となり、素数の性質がより掴み易くなるとともに、非素数の出現（若しくは判別）が可能となる。
【００７３】
具体的には、このような素数候補表プログラムを実行して、素数候補表作成することで、横軸に、０及び１、並びに２から３０までの素数を表し、縦軸では、３０ごとの数値を横軸の数値に加算していくので、素数候補表から、偶数の排除ができ、かつ、数値３及び５の倍数を判別できる。
【００７４】
また、このような実施形態によれば、非素数である値の欄に、整数で割り切れた場合の数式（例えば、表１に示す横軸Ｘ１：縦軸３Ｙの欄では、Ｘ５・Ｘ７、及び７×１３等）を記載することで、素数候補表に表示される非素数値は、全て素数の倍数であることが容易に発見でき、素因数分解が可能となる。
【００７５】
さらに、除算処理を行った値が素数である場合には、その値を素数格納配列に記録して、その素数格納配列に記録された素数についても次行の各列に描写された処理対象値に対して除算処理を行うので、予め、素数格納配列に記録する素数は最小限とすることができ、記憶領域の有効活用することができる。また、次行から発生する処理対象値についても、新たに格納した素数に基づいて素数判定を実行できるので、素数判定の確率が向上される。
【００７６】
また、本実施形態においては、横軸描画処理では、ターゲット値を３０で除した余りが、２から３０までに出現する素数、及び１に該当するか否かを判断し、該当する場合には、横軸描画ステップ以降の処理を実行し、該当しない場合には、素数候補表を作成することなく最終処理を実行する前処理処理を、予め素数候補表の描画処理に先行させて行うので、不要な処理を省略し、それ以降の演算処理時間を短縮することができる。
【００７７】
［第２実施形態］
次いで、本発明の第２実施形態について説明する。本実施形態では、任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表Ｔ１を、筒状の素数塔２００として構築する知育教材に用いた場合を例に説明する。図９は、第２実施形態に係る素数塔２００の外観を示す斜視図であり、図１０は、第２実施形態に係る素数塔２００を形成する単位ブロック２０１，２０２，２０３、繰上用ブロック２０４の形状を示す斜視図である。なお、本実施形態では、プラスの値とマイナスの値と表記されたブロックを用いており、全てのブロックを組み合わせることで、プラス部分が約１０段、マイナス部分が約３段の素数候補塔２００が構成された場合を例に説明する。また、本実施形態において、上述した第１実施形態と同一の構成要素には同一の符号を付し、その機能等は特に言及しない限り同一であり、その説明は省略する。
【００７８】
本実施形態に係る素数塔２００は、表面に数字や図形、記号等が表現される多数の単位ブロックを組み合わせることで、図９に示すように、環状に配列されて素数塔を構成する各層を形成するようになっている。なお、上述した実施形態において素数候補表Ｔ１は、下へ向かって数字が大きくなり、上方へ向かってマイナスとなり、その値が小さく（絶対値は大きく）なるように表記したが、本実施形態における素数塔２００は、ブロックが積み上げられる方向である上方へ向かって数字が大きくなり、下方がマイナスとなるようになっている。この数値が大きくなる方向とブロックの積み上げ方向とは、自由に設計することができ、ブロックが積み上げられる方向に、数値が小さくなるように変更してもよい。
【００７９】
この素数塔２００を構成する単位ブロックは、例えば、木材や、プラスチック等で形成されており、１１個の単位ブロック２０１，２０２，２０３と、繰上用ブロック２０４とで各層を構成させるようになっている。ここで、素数塔を構成する各層のうち、基準となる基準層に属する単位ブロック２０１，２０２，２０３には、２から３０までに出現する素数、及び１が、それぞれ出現順に素数格納配列として表現されている。具体的に、基準層における単位ブロック２０１，２０２，２０３の配列は、素数候補表に対応しており、素数配列Ｘ１（１），Ｘ２（２），Ｘ３（３），Ｘ４（５），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），Ｘ１０（２３）及びＸ１１（２９）が数値の小さな順に配置されている。繰上用ブロック２０４は、各層の繰上げ位置を示すためのブロックであり、素数塔２００を構成する各層に含まれる単位ブロックのうち最大又は最小の値が表現されるようになっている。本実施形態では、繰上用ブロック２０４については、「３０」を周期とする素数塔の繰り上がりについての理解を助けるために、素数格納配列には格納されない、０に対応する列（０，３０，６０…）を表現する数値とその層を示す「ｎＹ」という文字が表記されている。
【００８０】
そして、この基準層の上層又は下層に属する単位ブロック２０１，２０２，２０３及び繰上用ブロック２０４には、素数格納配列に格納された各値、又は０に対して３０又は−３０を加算した値が、素数候補表の次行の各列として表現されるようになっている。
【００８１】
次いで、各単位ブロック２０１〜２０４の各形状について説明する。先ず、本実施形態において、基準層に属する単位ブロック２０１，２０２は、図１０（ａ）、及び（ｂ）に示すように、水平断面が略扇状の形状となっている。ここで、素数配列Ｘ２（２），Ｘ３（３），及びＸ４（５）を表す単位ブロック２０２の外側円弧辺の幅Ｌ２は、その他の素数（Ｘ１（１），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），及びＸ１０（２３））を表すブロック２０１に係る外側円弧辺の幅Ｌ１と比較して、１／２の長さとなっている。
【００８２】
これは、数値２、３及び５は素数であるものの、数値２、３及び５に３０の倍数の数値が足された数値は、数値２、３又は５で割り切れる数値であるため、基準層に配列される素数ブロックＸ２（２），Ｘ３（３），Ｘ４（５）の列に対応する単位ブロック２０２には素数が出現しないことを利用者に視認させるためである。
【００８３】
また、Ｘ１１の列に配置される単位ブロック２０３は、図１０（ｃ）に示すように、単位ブロック２０１の幅と同一な長さの幅Ｌ３を有するブロックであって、底面及び上面の略中央部分からＸ１の列のブロックと接する側面の中央部分に向けて切欠された五角柱の形状をなしている。このような形状によって、Ｘ１１の列のブロックをＸ１の列のブロックの横に配列させた場合、Ｘ１１のブロックと、Ｘ１のブロックとの間に上部切欠空間２０３ａと、下部切欠空間２０３ｂとが生じるようになっている。
【００８４】
そして、本実施形態では、この下層部分の上部切欠空間２０３ａと上層部分の下部切欠空間２０３ｂに繰上用ブロック２０４を配置させるようになっている。
【００８５】
繰上用ブロック２０４は、図１０（ｄ）に示すように略三角柱の形状となっており、図１０（ｅ）に示すように、単位ブロック２０３，２０３を２層重ね合わせた際に生じる、下部切欠空間２０３ｂと上部切欠空間２０３ａとを合わせた空間と合致するようになっている。
【００８６】
そして、本実施形態では、図１０（ｆ）に示すように、素数配列Ｘ１（１）が記載されたブロック２０１から数値の小さい順に配置していき、単位ブロック２０３を配置させて層を形成させた後に、その単位ブロックの上部切欠空間２０３ａに嵌め込む構成となっている。これにより、繰上用ブロック２０４の上部が環状に構成された層から突出するので、ユーザーが、次の層にブロックを配置させる際、どの位置から次のブロックを並び始めるかを容易に認識することができる。
【００８７】
次いで、各単位ブロックの表面に表現される数字や図形、記号等の表示態様について説明する。図１１（ａ）〜（ｄ）は、単位ブロックの表示態様を示す正面図である。
【００８８】
本実施形態では、基準層に配列される繰上用ブロック２０４は、図１１（ｅ）に示すように、「０」が表記されている。すなわち、本実施形態では、３０」を周期とする素数塔の繰り上がりについての理解を助けるために、繰上用ブロック２０４には、「素数格納配列には格納されない、０に対応する列（０，３０，６０…）を表現する数値とその層を示す「ｎＹ」という文字が表記されている。そして、この繰上用ブロック２０４の上層又は下層に属する単位ブロックでは、「０」に３０又は−３０を加算した値が、素数候補表の次行の各列として表現されるとともに、「ｎＹ」という文字は、そのｎ行目を示すこととなる。なお、本実施形態において、繰上用ブロック２０４の表面は、金色で表示している。
【００８９】
一方、基準層に配列される素数格納配列Ｘ１（１）〜Ｘ１１（２９）の単位ブロック２０１，２０２，２０３の表面２０１ａ，２０２ａ，２０３ａには、図１１（ａ）及び（ｂ）に示すように、数値が太文字で表記されるとともに、素数配列Ｘｎが併記されるようになっている。
【００９０】
そして、本実施形態では、基準層の上層又は下層に配置される単位ブロック２０１，２０２，２０３においては、素数格納配列に格納された各値に対して３０又は−３０を加算した値が、素数候補表の次行の各列として表現されるとともに、その各列に応じてその表記を変えている。
【００９１】
詳述すると、本実施形態では、先ず、素数配列Ｘ２（２），Ｘ３（３），Ｘ４（５）の列の上下に位置する単位ブロックと、その他の配列番号Ｘ１（１），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），Ｘ１０（２３）及びＸ１１（２９）の列に配列されるブロックの表示形式を区別して表示させるようになっている。
【００９２】
素数格納配列の２、３及び５に対応する列に属する単位ブロック２０２には、その属する列の特徴を示すスキップマークが表現される。具体的には、素数配列Ｘ２（２），Ｘ３（３），Ｘ４（５）の列に配置されるブロックは、図９に示すように、例えば、ブロックの表面を黒やカラーで表示させる構成とし、素数配列Ｘ２（２），Ｘ３（３），Ｘ４（５）の列ごとに表示色を変化させている。さらに、素数配列Ｘ２（２），Ｘ３（３），Ｘ４（５）の上層又は下層に属する単位ブロックには、その数値のみを表記させる構成となっている。
【００９３】
なお、本実施形態では、スキップマークとして、単位ブロック２０２の色を変更させたが、本発明は、これに限定するものではなく、例えば、２、３及び５に対応する列に属する単位ブロック２０２には、素数が含まれないことを即時に認識させることができればよく、例えば、単位ブロックの表面に「非素数」という文字を表記させるなど、種々の変更を行うことができる。
【００９４】
一方、その他の素数格納配列Ｘ１（１），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），Ｘ１０（２３）及びＸ１１（２９）に対応する列に属する単位ブロック２０１、及び２０３では、その数値が素数であるか、非素数であるかを表示させている。すなわち、各ブロック２０１，２０３に表現された値を処理対象値とし、素数格納配列に含まれるそれぞれの素数で、各処理対象値を除して割り切れた場合には、処理対象値に対応するブロックに、素数でないことを示す除外フラグを表示させている。
【００９５】
具体的には、図１１（ｃ）に示すように、例えば、数値７７については、７と１１とを乗した値であるため、非素数であるとして、数値「７７」を大文字で表すとともに、式「＝７×１１」と、数値７及び１１の配列番号Ｘｎを乗する式「＝Ｘ５×Ｘ６」とを併記させる。
【００９６】
また、例えば数値が素数の累乗数である場合には、図１１（ｄ）に示すように、非素数である数値「４９」を大文字で表し、式「＝７２」と、数値７の配列番号Ｘｎを乗する式「＝（Ｘ５）２」とを併記させる。
【００９７】
一方、各ブロックの前に配列されるべきブロックのうち除外フラグが表現されていないブロックの値で、各処理対象値を除して割り切れない場合には、当該処理対象値が、該処理対象値に対応するブロックに、素数であるとして素数フラグが表現されている。
【００９８】
本実施形態では、配列番号Ｘ１（１），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），Ｘ１０（２３）及びＸ１１（２９）の各列に配置されるブロックの中で、素数である場合には、ブロックの表面部分を白地とし、太文字の数値と素数配列Ｘｎとが併記され、表記される各文字を中抜きして、列毎に中抜きの色を変化させるようにしている。
【００９９】
（作用・効果）
このような本実施形態によれば、任意の数字であるターゲット値が、素数に該当するか否かを判定するための素数候補表を、単位ブロック２０１，２０２，２０３、及び繰上用ブロック２０４とから構成して筒状の素数塔として構築し、次行に含まれる各列について、前記素数格納配列の２、３及び５に対応する列に属する単位ブロックには、その属する列の特徴を示すスキップマークが表現されているので、素数格納配列の２、３及び５に対応する列には、素数が含まれていないことが即時に認識することができ、素数判定に関する情報を簡易かつ整理された情報として確認することができる。これにより、例えば、遊びながら素数の出現場所が予想可能となり、素数の性質がより掴み易くなるとともに、非素数の出現（若しくは判別）が可能となる。また、このように素数の性質を理解することを通じて、例えば、分数計算における約分及び通分計算の理解度の向上も期待できる。
【０１００】
また、本実施形態では、単位ブロック２０１，２０２，２０３及び繰上用ブロック２０４には、各ブロックに表現された値を処理対象値とし、前記素数格納配列に含まれるそれぞれの素数で、各処理対象値を除して割り切れた場合には、該処理対象値に対応するブロックに、素数でないことを示す除外フラグが表現され、各ブロックの前に配列されるべきブロックのうち前記除外フラグが表現されていないブロックの値で、前記各処理対象値を除して割り切れない場合には、当該処理対象値が、該処理対象値に対応するブロックに、素数であるとして素数フラグが表現されているので、筒状の素数塔として構築された各ブロックは、素数であるか否かを各ブロックに表現させているので、素数判定に関する情報を簡易かつ整理された情報として確認することができる。
【０１０１】
［変更例］
（変更例１）
なお、上述した各実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。図１２（ａ）は、本変更例に係る知育教材の外観を示す斜視図であり、（ｂ）は、本変更例に係る素数候補塔２１０を上部より示す上面図である。
【０１０２】
例えば、図１２（ａ）及び（ｂ）に示すように、１２個の単位ブロック２１１，２１２を１層として１２面柱の形状をした素数候補塔２１０としてもよい。
【０１０３】
この素数候補塔２１０は、配列番号Ｘ１（１）からＸ１１（２９）までの数値等を示す１１個のブロック２１１と、各層の繰上げを示す繰上用ブロック２１２とから１層を形成させ、複数の層を積み上げることで円筒状の素数候補塔２１０が構成される。
【０１０４】
ここで、配列番号Ｘ１（１）からＸ１１（２９）までの１１個の単位ブロック２１１は、すべて同一形状をなしており、その表面２１１ａには数値が記載され、その数値が素数である場合には、数値に対応する配列番号Ｘｎが表記されている。
【０１０５】
また、本変更例では、素数である、配列番号Ｘ２（２），Ｘ３（３），Ｘ５（５）のブロックの表面は、黒に塗りつぶされ、白文字で数値と、その通知に対応する配列番号Ｘｎが表示されている。また、この配列番号Ｘ２（２），Ｘ３（３），Ｘ５（５）の列の上下に配列されブロックの表面には、白地に黒文字で数値のみや、「非素数」という除外フラグが表現されるようになっている。
【０１０６】
さらに、配列番号Ｘ１（１），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），Ｘ１０（２３）及びＸ１１（２９）の列の上下に配置されたブロックであって、素数を表すブロックは、黒に塗りつぶされ、白文字で数値と、素数フラグである、その通知に対応する配列番号Ｘｎが表示されている。
【０１０７】
一方、配列番号Ｘ１（１），Ｘ５（７），Ｘ６（１１），Ｘ７（１３），Ｘ８（１７），Ｘ９（１９），Ｘ１０（２３）及びＸ１１（２９）の上下の列に配置されたブロックであって、非素数を表すブロックの表面は、除外フラグをカラー表示するようになっている。特に本変更例では、非素数となる数値であって、異なる素数が因数となる数値を表すブロックと、同一の素数が因数となる数値を表すブロックとは、異なる色で表示させるようになっている。
【０１０８】
具体的には、例えば、異なる素数である因数７と因数１１とを乗した値である数値７７は、ブロックの表面を赤色にし、非素数である数値「７７」を大文字で表すとともに、式「＝７×１１」と、数値７及び１１の配列番号Ｘｎを乗する式「＝Ｘ５×Ｘ６」とを併記させる。
【０１０９】
一方、例えば、同一の素数である因数７と因数７とを乗した値である数値４９は、ブロックの表面を青色にし、非素数である数値「４９」を大文字で表し、式「＝７２」と、数値７の配列番号Ｘｎを乗する式「＝（Ｘ５）２」とを併記させる。
【０１１０】
また、本変更例では、繰上用ブロック２１２は、垂直断面が平行四辺形の平行六面体の形状をなし、現在の層に属する隣接ブロック及び上層又は下層に属する隣接ブロックの両方に対し両側面で接触するようになっている。例えば、図１２（ａ）に示すように、「Ｙ＝０」が記載された繰上用ブロック２１２は、一方の側面は、「Ｙ＝０」の層に配置される配列番号Ｘ−９のブロックの側面と接し、他方の側面は、「３０：Ｙ」の層に配置される配列番号Ｘ１のブロックの側面と接するようになっている。これにより、単位ブロック２１１を組み合わせて、１層目を形成させた際には、繰上用ブロック２１２がリング状に構成された積み木から突出する構成となっている。これにより、ユーザーがどの位置から次のブロックを並び始めるかを容易に認識することができる。
【０１１１】
また、繰上用ブロック２１２の表面には、３０毎の数値と、各層を示すｎＹが表記されるとともに、その数値を素因数で表した式（例えば、数値３０では、「＝２×３×５」及び「＝Ｘ２×Ｘ３×Ｘ４」）を表記される。
【０１１２】
（変更例２）
第２実施形態では、数値１及び２〜３０の素数が記載されたブロックを１層とし、これらの数値に３０又は、−３０を加算した数値が記載されたブロックを上下の列に配置させる構成としたが、本変更例では、すべての数値をブロックに表記し、そのブロックを組み合わせる構成としてもよい。図１３は、本変更例に係る知育教材２２０のブロックの一部分を示す斜視図である。なお、本変更例においても、上述した実施形態及び変更例と同一の構成要素には同一の符号を付し、その機能等は特に言及しない限り同一であり、その説明は省略する。
【０１１３】
本変更例において、素数候補塔２２０は、１〜３０までの数値を単位ブロックに記載し、３０個のブロックで一層を構成させている。この際、非素数である、４，６，８，９，１０，１２，１４，１５，１６，１８，２０，２１，２２，２４，２５，２６，２７，２８，及び３０が記載されたブロック２２１の幅Ｌ４は、素数である２，３，及び５が記載されたブロック２０２の幅の１／２（その他の素数である１，７，１３，１７，１９，２３，及び２９が記載されたブロック２０１の幅の１／４）の長さとしている。
【０１１４】
また、数値０，３０，６０等の各層の開始については、繰上用ブロック２２２に表記され、１が記載されたブロック２０１に設けられた下部切片空間２２３と合致するような、三角柱の形状をなしている。
【０１１５】
また、本変更例では、単位ブロックの底面、上面、及び両側面に他のブロックと嵌合する凹部及び凸部（図示せず）が設けられており、ブロックの組立てを固定するようになっている。
【０１１６】
なお、本発明は、素数候補表が表記されればよく、積み木状の知育教材の他、ブロック玩具や、学習用教材として用いてもよい。また、これらは、種々の大きさとすることができ、例えば、組立てたブロック群が手のひらサイズの大きさとすることもできる。また、販売先としては、幼児教育専門所、デパート等の知育玩具コーナー、本屋、文具店、小学生向け学習塾など様々な店舗で販売することができる。
【符号の説明】
【０１１７】
Ｌ１，Ｌ２、Ｌ３，Ｌ４…ブロックの幅
Ｘ…横軸
Ｘ１〜Ｘ１０…配列番号
Ｘｎ…最後尾の配列番号
Ｙ…縦軸
１…コンピュータ
２…印刷装置
３…モニタ
４…操作デバイス
４ａ…マウス
４ｂ…キーボード
６…記録媒体
７…ユーザー
８１…フレキシブルディスク
８２…ＣＤ−ＲＯＭ
８３…カセットテープ
８４…ＲＡＭカード
１０１…入力インターフェイス
１０２…出力インターフェイス
１０３…操作信号取得部
１１０…演算処理部
１１１…横軸描画部
１１２…次行描画部
１１３…ピックアップ判断部
１１４…処理対象値演算部
１１５…除外フラグ描画部
１１５ａ…最終描画処理部
１１６…終了判定部
１１７…画像情報生成部
１２０…記憶部
１２１…素数格納配列部
１２２…素数候補表記憶部
２００，２１０，２２０…素数塔
２０１，２０２，２１１，２２１…単位ブロック
２０１ａ，２０２ａ，２０３ａ，２０４ａ，２１１ａ…単位ブロックの表面
２０３ａ…上部切欠空間
２０３ｂ…下部切欠空間
２０４，２１２，２２２…繰上用ブロック
２２３…下部切片空間  
【図１】
2011227493.tif 000004
【図２】
2011227493.tif 000005
【図３】
2011227493.tif 000006
【図４】
2011227493.tif 000007
【図５】
2011227493.tif 000008
【図６】
2011227493.tif 000009
【図７】
2011227493.tif 000010
【図８】
2011227493.tif 000011
【図９】
2011227493.tif 000012
【図１０】
2011227493.tif 000013
【図１１】
2011227493.tif 000014
【図１２】
2011227493.tif 000015
【図１３】
2011227493.tif 000016