JPH09231176A - 電子計算機 - Google Patents

電子計算機

Info

Publication number
JPH09231176A
JPH09231176A JP3666796A JP3666796A JPH09231176A JP H09231176 A JPH09231176 A JP H09231176A JP 3666796 A JP3666796 A JP 3666796A JP 3666796 A JP3666796 A JP 3666796A JP H09231176 A JPH09231176 A JP H09231176A
Authority
JP
Japan
Prior art keywords
data
prime number
input
prime
numerical value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3666796A
Other languages
English (en)
Inventor
Makoto Ozawa
信 小沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP3666796A priority Critical patent/JPH09231176A/ja
Publication of JPH09231176A publication Critical patent/JPH09231176A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Calculators And Similar Devices (AREA)

Abstract

(57)【要約】 【課題】 誤入力を起こすことのない簡単な操作で確実
に素数を求められるようにすることを課題とする。 【解決手段】 データ入力キー43の操作で置数データ
が入力された後に、前素数キー41もしくは後素数キー
42が操作されると、素数演算条件が成立して素数演算
処理が開始され、その置数データが素数ではないと判定
されると、前素数キー41か後素数キー42のどちらの
操作が行われたのか検索方向用レジスタ52の内容で確
認され、その結果に従って、置数データが示す数値を基
準に前素数検索もしくは後素数検索が行われ、その検索
結果が表示部7に表示される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キー入力に応じて
演算処理を実行する電子計算機に関する。
【0002】
【従来の技術】従来、この種の携帯型電子計算機におい
ては、関数計算等の各種の演算機能を有した卓上電子式
計算機がある。
【0003】この卓上電子式計算機は、各種演算を行う
ためのキー群と、各種演算中のデータを格納するメモリ
と、各種演算中のデータを表示する表示部とを有してい
る。このキー群には、例えば、0〜9までの数値データ
を入力するための数字キー、少数点を入力するための小
数点キー、四則演算命令を入力するための四則演算命令
キー、解を求めるためのイコールキー、数値データの正
負を切り換えるための正負キー、数値データの訂正を行
うためのクリアキー、全消去を行うためのオールクリア
キー、メモリに記憶されているデータに対して表示中の
数値データを足し込んだり差し引くメモリプラスキー、
メモリマイナスキー、メモリに記憶されているデータを
表示させるメモリリコールキー等がある。
【0004】使用者は、卓上電子式計算機に対してキー
群の各種キーを操作することにより所望の演算を実行さ
せることができる。
【0005】
【発明が解決しようとする課題】ところで、今日、もし
卓上電子式計算機を使用して素数演算を行う場合、使用
者は、素数の定義に従って前述のキー群を操作しながら
素数を求めることができる。
【0006】この素数の定義によれば、2以上の正整数
である数値Pが「1」と「P」(数値P自身)以外に約
数をもたない場合に、その数値Pが素数となることか
ら、与えられた数値Pが素数であるか否かを演算処理に
よって実現させんるには、与えられた数値Pを2、3、
5、7…の順で除算したときに、いずれかの数値で割り
切れると、その数値Pは素数ではないと判断することが
でき、一方、「1」と「P」(数値P自身)以外の数値
で割り切れないと、その数値Pは素数であると判断する
ことができる。
【0007】このように、素数演算そのものを単にキー
入力で進行させていくのであれば、これは単なるマニュ
アル操作となって操作が面倒になったり、順を追ったキ
ー操作となるので誤入力を起こしてしまう恐れもある。
【0008】本発明は、上述した従来例による課題を解
消するため、誤入力を起こすことのない簡単な操作で確
実に素数を求めることが可能な電子計算機を提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】請求項1記載の発明に電
子計算機は、任意の数値データを入力する入力手段と、
この入力手段により入力された数値データが正の整数で
あるか否かを判定する正数判定手段と、この正数判定手
段において前記入力手段により入力された数値データは
正の整数であるという判定結果が得られた場合、前記入
力手段により入力された数値データが、1または前記入
力手段により入力された数値データ自身の他に約数をも
つか否かを判定する約数判定手段と、この約数判定手段
により約数をもたないという判定結果が得られた場合、
前記入力手段により入力された数値データを素数として
表示する素数表示手段と、を備えたことを特徴とする。
【0010】以上の構成によれば、入力手段は任意の数
値データを入力し、正数判定手段はこの入力手段により
入力された数値データが正の整数であるか否かを判定
し、約数判定手段は、この正数判定手段において入力手
段により入力された数値データは正の整数であるという
判定結果が得られた場合、入力手段により入力された数
値データが、1または入力手段により入力された数値デ
ータ自身の他に約数をもつか否かを判定し、素数表示手
段は、この約数判定手段により約数をもたないという判
定結果が得られた場合、入力手段により入力された数値
データを素数として表示する。
【0011】従って、適当に数値を入力するだけでその
数値が素数か否かを求めることができるので、素数が見
つかるまで何度も数値を入力するという手間が省け、誤
入力を起こすことのない簡単な操作で確実に素数を求め
ることが可能である。
【0012】請求項2記載の発明に係る電子計算機は、
請求項1記載の発明において、さらに、前記約数判定手
段により約数をもつという判定結果が得られた場合、前
記入力手段により入力された数値データが示す数値の少
なくとも前又は後のどちらか一方の数値から素数を検索
する素数検索手段と、前記素数検索手段により検出され
た素数を表示する検出素数表示手段と、を有したことを
特徴とする。
【0013】以上の構成によれば、入力した数値が素数
でなくてもその数値の少なくとも前又は後のどちらか一
方から素数を自動的に求めるようにしたので、素数が見
つかるまで何度も数値を入力するという手間が省けて、
最初に入力した数値の近傍から素数が求まり、これによ
って、誤入力を起こすことのない簡単な操作で確実に素
数を求めることが可能である。
【0014】請求項3記載の発明に係る電子計算機は、
請求項2記載の発明において、前記検出素数表示手段
は、少なくとも前記素数検索手段により検出された素数
の表示、前記素数検索手段により検出された素数と前記
入力手段により入力された数値データに基づく数値の表
示、又は、前記素数検索手段により検出された素数と前
記入力手段により入力された数値データに基づく数値と
当該数値の約数の表示のいずれかひとつを表示すること
を特徴とする。
【0015】以上の構成によれば、入力した数値を基準
に求めた素数を表示する際に、入力した数値が素数であ
る場合にその数値を素数として表示したり、入力した数
値の前後から素数を求めた場合にその素数と入力した数
値とを表示するようにしたので、入力下素数を基にして
どのように素数を求めたのかその演算内容を確認するこ
とができると共に、素数が見つかるまで何度も数値を入
力するという手間が省け、誤入力を起こすことのない簡
単な操作で確実に素数を求めることが可能である。
【0016】請求項4記載の発明に係る電子計算機は、
請求項2又は3記載の発明において、前記素数検索手段
は、前記入力手段により入力された数値データが示す数
値に対してその数値より小さい数に向かって素数を検索
する前検索と、その数値より大きい数に向かって素数を
検索する後検索とのいずれかを指定する検索方向指定手
段を有することを特徴とする。
【0017】以上の構成によれば、入力された数値が素
数でなかった場合にその数値の前後のいずれかの方向に
検索方向を指定するようにしたので、その数値を基準に
所望の方向より素数を見つけることができ、これによっ
て、誤入力を起こすことのない簡単な操作で確実に素数
を求めることが可能である。
【0018】
【発明の実施の形態】以下に添付図面を参照して、本発
明に係る好適な実施の形態を詳細に説明する。図1は本
発明に係る電子計算機の一実施の形態を示すブロック図
であり、同図において、1は卓上電子式計算機等の電子
計算機を示している。
【0019】この電子計算機1は、例えば、CPU2、
ROM3、キー入力部4、RAM5、表示駆動回路6、
及び表示部7を備えている。
【0020】CPU2は、ROM3に格納されている各
種制御プログラムに従って電子計算機1全体を制御する
ものであり、ROM3、キー入力部4、RAM5、及び
表示駆動回路6に結合されて、キー入力操作に応じた素
数演算や表示制御を実行する。
【0021】ROM3は、CPU2を制御するための制
御プログラムを格納しており、その中には後述する図2
及び図3にそれぞれ示したフローチャートに従う制御プ
ログラムがある。図2に示したフローチャートに従うプ
ログラムは、素数演算処理を実行するものであり、図3
に示したフローチャートに従うプログラムは、その素数
演算処理内の素数検出処理を実行するものである。
【0022】キー入力部4は、前素数検索キー41、後
素数検索キー42、データ入力キー群43、ファンクシ
ョンキー群44等を具備している。
【0023】前素数検索キー41は、入力された数値が
素数でなかったときにその数値を基準にその数値より小
さい数に向かって素数を自動検索させるためのキーであ
り、後素数検索キー42は、入力された数値が素数でな
かったときにその数値を基準にその数値より大きい数に
向かって素数を自動検索させるためのキーである。これ
ら前素数検索キー41及び後素数検索キー42が操作さ
れると、既に入力された数値に対する素数演算処理が実
行される。データ入力キー群43は、0〜9までの数値
データを入力するための数字キー、少数点を入力するた
めの小数点キー、四則演算命令を入力するための四則演
算命令キー、解を求めるためのイコールキー、数値デー
タの正負を切り換えるための正負キー、数値データの訂
正を行うためのクリアキー、全消去を行うためのオール
クリアキー、メモリに記憶されているデータに対して表
示部7に表示中の数値データを足し込んだり差し引くメ
モリプラスキー、メモリマイナスキー、メモリに記憶さ
れているデータを表示させメモリ内容を消去するメモリ
リコールキー等を具備している。ファンクションキー群
44は、各種関数演算処理の実行を指示するキー等を具
備している。
【0024】RAM5は、表示用レジスタ51、検索方
向用レジスタ(M)52、割子数用レジスタ(C)5
3、置数用レジスタ(D)54、商用レジスタ(q)5
5、ワークエリア56等を具備している。表示用レジス
タ51は表示部7に表示画像を形成するための表示デー
タを格納し、検索方向用レジスタ(M)52は前素数検
索キー41及び後素数検索キー42の内のいずれか操作
された側を示す検索方向指定データMを格納する。約数
用レジスタ(C)53は後述する素数検出処理時の割子
数データCを格納し、置数用レジスタ(D)54は素数
演算処理中の数値データである置数データDを格納し、
商用レジスタ(q)55は素数検出処理時の商データq
を格納する。ワークエリア56は、CPU2のワークエ
リアとして使用される。
【0025】表示駆動回路6はCPU2の制御に従って
表示部7を表示駆動させるものであり、表示部7は表示
駆動回路6の表示駆動され表示用レジスタ7に格納され
た表示データに基づいて表示を行うものである。
【0026】次に、動作について説明する。図2は本実
施の形態における素数演算処理を説明するフローチャー
トであり、図3は上記素数演算処理における素数検出処
理を説明するフローチャートである。そして、図4〜図
6はこの素数演算処理においてキー入力とその表示との
対応を示す図である。
【0027】本実施の形態においては、キー入力部4の
前素数キー41もしくは後素数キー42が操作されるこ
とにより素数演算処理が開始される。ただし、前素数キ
ー41もしくは後素数キー42が操作される前に、2以
上の値をもつ正の整数がデータ入力されてることが、素
数演算条件となる。なお、数値がデータ入力された場合
には、その数値は表示部7に表示されることになる。
【0028】まず、ステップS1、S4において、それ
ぞれデータ入力キー群43内の数字キーの入力、前素数
キー41もしくは後素数キー42の入力、その他のキー
がセンスされる。ステップS1において数字キーの入力
が検出されると、処理はステップS2に移行して、その
ステップS2及びS3によりデータ入力処理を実行す
る。また、ステップS4において前素数キー41もしく
は後素数キー42の入力が検出されると、処理はステッ
プS6に移行して、そのステップS6〜S11において
素数演算処理を実行する。なお、このステップS4でも
キー入力が検出されず、その他のキー入力も検出されな
ければ、処理はステップS1、S4及びS5におけるそ
の他のキーのキー検出を繰り返し実行する。ここで、そ
の他のキー入力が検出されると、処理はステップS5に
おいて他のキー処理を実行する。
【0029】上記データ入力処理では、ステップS2に
おいて入力データすなわち数値データをワークエリア5
6内のバッファに格納し、続くステップS3においてそ
の数値データに基づく表示データ(ドットデータ)を表
示用レジスタ51にドット展開して、表示部7に数値を
表示する処理が実行される。例えば、図4(a)に示し
たように、使用者がデータ入力キー群43の数字キー
「2」、「3」を連打すると、表示部7には置数表示エ
リア71Aに「23」が表示される。
【0030】この例に従い、上記データ入力処理の後
に、例えば図4(b)に示した如く前素数キー41が操
作されると、ステップS4において、その前素数キー4
1のキー入力が検出され、その検出されたデータは一旦
ワークエリア56のバッファに格納される。なお、後素
数キー42が操作されても同様にその検出されたデータ
が一旦ワークエリア56のバッファに格納される。この
後、処理はステップS6に移行する。このステップS6
では、ワークエリア56にデータ入力処理により格納さ
れた数値データを読み出し、その数値データが正の整数
に相当するか否かを判定する処理が実行される。その
際、その数値データによって示される値が負の整数であ
ったり、小数点を含んでいるように、正の整数とは異な
っている場合、入力された数値データが素数演算条件を
満たしていないと判断され、処理はステップS12に移
行して、エラーメッセージを表示部7に表示する。
【0031】また、ステップS6において、入力された
数値データが「23」(図4(a)の例)であれば、素
数演算条件を満たしていると判断されるので、この場合
には処理はステップS7に移行して、その入力された数
値データを置数データDとして置数用レジスタ(D)5
4に格納する。そして、ステップS8において、ワーク
エリア56に格納された前素数キー41もしくは後素数
キー42に対応するデータを読み出し、そのデータが図
4(b)に示した如く前素数キー41に対応するもので
あれば、これを前素数検索の指定と判断して、処理をス
テップS9に移行し、一方、そのデータが後素数キー4
2に対応するのであれば、これを後素数検索の指定と判
断して、処理をステップS10に移行する処理が実行さ
れる。
【0032】ステップS9では、図4(b)に示した如
く前素数検索を指定するため、検索方向用レジスタ
(M)52に検索方向指定データMとして“0”が格納
され、一方、ステップS10では、後素数検索を指定す
るため、検索方向用レジスタ(M)52に検索方向指定
データMとして“1”が格納される。
【0033】このように、ステップS9もしくはステッ
プS10において、前素数キー41もしくは後素数キー
42の操作に応じて前素数検索か、後素数検索かを指定
する検索方向指定データMが格納されると、いずれにお
いても処理はステップS11に移行して、指定された検
索方向に応じた素数検索処理を実行する。
【0034】次に、素数検索処理について図3を参照し
て説明する。この素数検出処理は、置数データDに対し
て、割子数データCに設定される2、3、5、7…を用
いて順次除算を行い、その除算による解が整数(正の整
数)とならなかった場合、その置数データDは素数であ
ると判断される。なお、除算を行う際に使用される割子
数データCは、置数データDのルートをとったものに
“1”を加算したものまでの値が設定されるものであ
る。また、その除算による解が整数(正の整数)となっ
た場合、その置数データDは割子数データCの倍数であ
り、素数ではないと判断される。このように、素数では
ないという判断が下された場合には、検索方向指定デー
タMにより指定される検索方向が判別される。
【0035】図3を用いて具体的に説明すると、まず、
ステップS31において、割子数用レジスタ(D)54
に割子数データCとして“2”を格納する処理が実行さ
れる。さらに、ステップS32では、既に置数用レジス
タ(D)54に格納されている置数データDを割子数デ
ータCで割る除算処理が実行される。この除算処理によ
り得られる商は商データqとして商用レジスタ(q)5
5に格納され、続くステップS33においてその商デー
タqと割子数データCとが比較される。図4の例によれ
ば、置数データD“23”を割子数データC“2”で割
ることにより、商データqが“11.5”となる。この
商データq“11.5”は割子数データC“2”よりも
大きいことから、処理はステップS33からステップS
35に移行する。
【0036】ステップS35において、商データqは
“11.5”であって割り切れずに整数を示してると判
定され、続くステップS36において割子数データCが
ひとつインクリメントされて“3”となる。この後、処
理はステップS37に移行する。
【0037】ステップS37において、割子数データC
が“3”であることから、処理はステップS32に戻
り、今度は置数データD“23”を割子数データC
“3”で割る除算処理が実行され、その解“7.3…”
が商データqとして商用レジスタ(q)55に格納され
る。この場合にも、ステップS33、S35及びS36
において、商データq“7.3…”が割子数データC
“3”よりも大きく、割り切れなかったことから、割子
数データC“3”はさらにひとつインクリメントされて
“4”となる。この後、処理はステップS37に移行す
る。
【0038】このステップS37では、割子数データC
が“3”のときに処理がステップS32に戻され、それ
以外のときにステップS38に移行する。
【0039】従って、今回、割子数データCが“4”で
あることから、次のステップS38においてさらに割子
数データCがひとつインクリメントされる。その結果、
割子数データCは、“5”となる。
【0040】次のステップS39において、割子数デー
タCから約数が算出して求められるが、現在割子数デー
タCは“5”となっており、約数は“1”と自身の
“5”だけとなる。続くステップS40において、ステ
ップS39の結果からその割子数データCは“2”、
“3”、“5”、“7”のいずれかの2倍以上の倍数で
はないと判定されるので、処理は再びステップS32に
戻る。なお、ステップS40において、割子数データC
は“2”、“3”、“5”、“7”のいずれかの2倍以
上の倍数であると判定された場合には、処理はステップ
S41に移行し、割子数データCをさらにひとつインク
リメントして、ステップS39においてその割子数デー
タCの約数を求めることになる。このステップS39〜
S41のループでは、割子数データCが、“2”、
“3”、“5”、“7”のいずれかの2倍以上の倍数で
なければ抜け出し、ステップS40よりステップS32
に処理を戻る。
【0041】ここで、ステップS39の処理について簡
単に説明する。まず、割子数データCが2の倍数か否か
については、その割子数データCの数値が何桁であって
も1桁目が2の倍数であったり、2桁以上の際に1桁目
が“0”であれば、割子数データCは2の倍数であると
判定される。
【0042】また、割子数データCが3の倍数か否かに
ついては、その割子数データCの数値が1桁であれば、
その1桁が“6”もしくは“9”(2倍以上の条件)で
あれば3の倍数となる。そして、割子数データCの数値
が2桁以上であれば、各桁の値を加算して得た結果をさ
らに加算する処理を繰り返して、最終的に1桁の値とな
ったところでその1桁の数値が3の倍数となる3、6、
9のいずれかであれば、割子数データCは3の倍数であ
ると判定される。
【0043】例えば、割子数データCが3桁の数値「3
72」であった場合、 3+7+2=12 1+2=3 となる。したがって、最終的に求められた1桁の値が
“3”なので、「372」は3の倍数となる。
【0044】また、割子数データCが5の倍数か否かに
ついては、その割子数データCの数値が2桁以上であっ
て(2倍以上の条件)、1桁目が“0”もしくは“5”
であれば、割子数データCは5の倍数であると判定され
る。
【0045】また、割子数データCが7の倍数か否かに
ついては、その割子数データCの数値が2桁以上であっ
て(2倍以上の条件)、2桁以上の数値を3倍して得た
値に1桁目の数を加算する処理を繰り返して、最終的に
1桁の値となったところでその1桁の数値が“7”であ
れば、割子数データCは7の倍数であると判定される。
【0046】例えば、割子数データCが3桁の数値「6
02」であった場合、2桁以上の数値は「60」、1桁
目の数値は「2」となるので、 60×3+2=182 同様に、 18×3+2=56 同様に、 5×3+6=21 同様に、 2×3+1=7 となる。したがって、最終的に求められた1桁の値が
“7”なので、「602」は7の倍数となる。
【0047】ステップS32において、今度は置数デー
タD“23”を割子数データC“5”で割る除算処理が
実行され、その解“4.6”が商データqとして商用レ
ジスタ(q)55に格納される。この場合、続くステッ
プS33において、商データq“4.6”が割子数デー
タC“5”よりも小さという判定が下されるので、この
場合、以降の処理でこれ以上割子数データCを大きくし
て再びステップS32において除算処理をしても、その
解である商データqが“1”よりも小さい値となって無
意味となる。
【0048】従って、ステップS33において商データ
qが割子数データCよりも小さくなった場合には、処理
はステップS34に移行し、そこで置数データDは素数
である旨の表示を実行する。すなわち、図4(b)に示
した例のように、表示部7の素数表示エリア71Bに
は、“素数”の表示文字に対応させて置数データDの
“23”が表示される。
【0049】このように、使用者がデータ入力キー群4
3を操作して入力した数値“23”については、CPU
30によって素数演算処理の後、素数である旨の表示に
よって解答される。
【0050】さて、図4(a)及び(b)に示した例で
は、入力された数値が素数“23”であったが、次に、
素数でない数値“45”が入力された場合について説明
する。
【0051】なお、図5(a)に示したように、すでに
前述のデータ入力処理によりデータ入力キー群43の操
作で数値“45”が入力され、表示部7の置数表示エリ
ア71Aに“45”が表示されていると共に、同図
(b)に示したように、前素数キー41がすでに操作さ
れている。したがって、前述の素数演算処理において、
置数用レジスタ(D)54には、置数データCとして
“45”が格納されており、検索方向用レジスタ(M)
52には、前素数検索を指定するため、検索方向指定デ
ータMとして“0”が格納されている。
【0052】まず、前述した素数“23”のときと同様
に、ステップS31において、割子数用レジスタ(D)
54に割子数データCとして“2”を格納した後、ステ
ップS32〜S37において、既に置数用レジスタ
(D)54に格納されている置数データDを割子数デー
タC“2”、“3”の順で割る除算処理が実行される。
割子数データCが“2”である場合には、置数データD
“45”を割子数データC“2”で割ることにより、商
データqが“22.5”となり、続く割子数データCが
“3”である場合にも、置数データD“45”を割子数
データC“3”で割ることにより、商データqが“1
5”となる。いずれの場合にも商データqが割子数デー
タCよりも大きくなるが、ステップS35において、割
子数データCが“3”のときには割り切れたことから、
処理はステップS42に移行する。
【0053】このように、置数データDが割子数データ
Cによって割り切れた場合には、その置数データDは素
数ではないと判定され、このステップS42において、
図5(b)に示したように、表示部7上で置数表示エリ
ア71Aとは別の置数及び約数表示エリア71Cに、置
数データD“45”と、割子数データCである約数
“3”(この場合、最初に割り切れたときの数値)とを
表示する処理が実行される。
【0054】そして、次のステップS43において、検
索方向用レジスタ(M)52に格納されている検索方向
指定データMが読み出される。この場合、前素数キー4
1の操作に伴う動作のため、検索方向指定データMは
“0”であることから、処理はステップS44に移行
し、置数データDが偶数であるかそれとも奇数であるか
判定される。その結果、置数データDが偶数である判定
された場合、処理はステップS45に移行して、その置
数データDをひとつデクリメントして再び置数用レジス
タ(M)52に戻し、一方、奇数であると判定された場
合、処理はステップS46に移行して、その置数データ
Dを2つデクリメントする。したがって、ステップS4
4の判定時点での置数データDは“45”であることか
ら奇数であると判定され、ステップS46において“4
3”に減じられる。このように、偶数の置数データDの
場合には“1”を減じ、奇数の置数データDの場合には
“2”を減じるのは、いずれも減算後は前方で最近の奇
数とするためである。これはこれから前方で最近の素数
を求めようとしているためであり、素数が奇数に含まれ
ることから強制的に奇数にする必要がある。
【0055】このように、置数データDが偶数か奇数か
に応じてその置数データDから“1”もしくは“2”を
減じられることから、素数検索方向が最初に入力された
基準となる置数データCよりも値が小さくなる方向とな
って、前素数検索の準備が整うことになる。
【0056】続くステップS50では、オーバーフロー
エラーを判定する処理が行われるが、前素数検索では置
数データDを小さくしていくことから、エラーなしとし
て処理は再びステップS31に戻る。なお、後素数検索
では、置数データDを大きくしていくことから、予め決
められたビット数以上の置数データDを置数用レジスタ
(D)54に格納できずオーバーフローしてしまうの
で、この場合には処理はステップS51に移行して、オ
ーバーフローエラーを表示して処理を終了する。
【0057】さて、処理がステップS31に戻ると、最
初に入力された置数データD“45”に前方で最近の位
置にある奇数“43”を新たな置数データDとしての素
数検出が開始される。このステップS31において、割
子数用レジスタ(C)53に割子数データC“2”を格
納する処理が実行される。
【0058】続くステップS32〜S37において、既
に置数用レジスタ(D)54に格納されている置数デー
タD“43”を割子数データC“2”、“3”の順で割
る除算処理が実行される。割子数データCが“2”であ
る場合には、置数データD“43”を割子数データC
“2”で割ることにより、商データqが“21.5”と
なり、続く割子数データCが“3”である場合にも、置
数データD“43”を割子数データC“3”で割ること
により、商データqが“14.3…”となる。
【0059】ステップS36において、割子数データC
“3”がひとつインクリメントされて“4”になると、
処理はステップS37に移行し、今回、割子数データC
が“4”であることから、次のステップS38において
さらに割子数データCがひとつインクリメントされる。
その結果、割子数データCは、“5”となる。
【0060】次のステップS39において、割子数デー
タCから約数が算出して求められるが、現在割子数デー
タCは“5”となっているので、前述したように、ステ
ップS40において、その割子数データCは“2”、
“3”、“5”、“7”のいずれの2倍以上の倍数では
ないと判定され、処理は再びステップS32に戻る。
【0061】ステップS32において、今度は置数デー
タD“43”を割子数データC“5”で割る除算処理が
実行され、その解“8.6”が商データqとして商用レ
ジスタ(q)55に格納される。この場合、続くステッ
プS33及びS35において、商データq“8.6”が
割子数データC“5”よりも大きく、割り切れないとい
う判定が下され、ステップS36において割子数データ
Cはさらにひとつインクリメントされる。その結果、割
子数データCは“6”となる。
【0062】このように、割子数データCは“3”でな
いことから、処理はステップS37に移行し、今回、割
子数データCが“6”であることから、次のステップS
38においてさらに割子数データCがひとつインクリメ
ントされる。その結果、割子数データCは、“7”とな
る。
【0063】次のステップS39において、割子数デー
タCから約数が算出して求められるが、現在割子数デー
タCは“7”となっているので、前述したように、ステ
ップS40において、その割子数データCは“2”、
“3”、“5”、“7”のいずれの2倍以上の倍数では
ないと判定され、処理は再びステップS32に戻る。
【0064】ステップS32において、今度は置数デー
タD“43”を割子数データC“7”で割る除算処理が
実行され、その解“6.1…”が商データqとして商用
レジスタ(q)55に格納される。この場合、続くステ
ップS33において、商データq“6.1…”が割子数
データC“7”よりも小さいという判定が下され、処理
はステップS34に移行し、そこで置数データDは素数
である旨の表示を実行する。すなわち、図5(c)に示
した例のように、表示部7において、すでに置数及び約
数表示エリア71Cに表示している“45/3”ととも
に、素数表示エリア71Bに、“素数”の表示文字に対
応させて置数データDの“43”が表示される。
【0065】このように、使用者がデータ入力キー群4
3を操作して入力した数値“45”については、CPU
30によって素数演算処理の後、前素数から検出された
素数が“43”である旨の表示によって解答される。
【0066】この図5の例では、前素数キー41の操作
に応じた素数演算処理であったが、図6(a)及び
(b)に示したように、同様に数値“45”が入力さ
れ、その数値に対して後素数検索が指定されると、以下
の処理が実行される。
【0067】図5の例と同様の説明は省略して、図3に
おいて、置数データD“45”が割子数データC“3”
によって割り切れた場合には、その置数データD“4
5”は素数ではないと判定され、このステップS42に
おいて、図6(b)に示したように、表示部7上で置数
表示エリア71Aとは別の置数及び約数表示エリア71
Cに、置数データD“45”と、割子数データCである
約数“3”(この場合、最初に割り切れたときの数値)
とを表示する処理が実行される。
【0068】そして、次のステップS43において、検
索方向用レジスタ(M)52に格納されている検索方向
指定データMが読み出される。この場合、後素数キー4
2の操作に伴う動作のため、検索方向指定データMは
“1”であることから、処理はステップS47に移行
し、置数データDが偶数であるかそれとも奇数であるか
判定される。その結果、置数データDが偶数である判定
された場合、処理はステップS48に移行して、その置
数データDをひとつデクリメントして再び置数用レジス
タ(D)54に戻し、一方、奇数であると判定された場
合、処理はステップS49に移行して、その置数データ
Dを2つデクリメントする。したがって、ステップS4
7の判定時点での置数データDは“45”であることか
ら奇数であると判定され、ステップS49において“4
7”に増加される。このように、偶数の置数データDの
場合には“1”を加算し、奇数の置数データDの場合に
は“2”を加算するのは、いずれも加算後は次の奇数と
するためである。これはこれから後方で最近の素数を求
めようとしているためであり、素数が奇数に含まれるこ
とから強制的に奇数にする必要がある。
【0069】このように、置数データDが偶数か奇数か
に応じてその置数データDから“1”もしくは“2”を
加算することから、素数検索方向が最初に入力された基
準となる置数データCよりも値が大きくなる方向となっ
て、後素数検索の準備が整うことになる。
【0070】続くステップS50では、オーバーフロー
エラーを判定する処理が行われるが、後素数検索では置
数データDを大きくしていくことから、予め決められた
ビット数以上の置数データDを置数用レジスタ(D)5
4に格納できずオーバーフローしてしまうが、この数値
“47”の場合にはオーバーフロー無しとする。したが
って、処理はステップS31に戻る。
【0071】さて、処理がステップS31に戻ると、最
初に入力された置数データD“45”の次に来る奇数
“47”を新たな置数データDとしての素数検出が開始
される。このステップS31において、割子数用レジス
タ(C)53に割子数データC“2”を格納する処理が
実行される。
【0072】続くステップS32〜S37において、既
に置数用レジスタ(D)54に格納されている置数デー
タD“47”を割子数データC“2”、“3”の順で割
る除算処理が実行される。割子数データCが“2”であ
る場合には、置数データD“47”を割子数データC
“2”で割ることにより、商データqが“23.5”と
なり、続く割子数データCが“3”である場合にも、置
数データD“47”を割子数データC“3”で割ること
により、商データqが“15.6…”となる。
【0073】ステップS36において、割子数データC
“3”がひとつインクリメントされて“4”になると、
処理はステップS37に移行し、今回、割子数データC
が“4”であることから、次のステップS38において
さらに割子数データCがひとつインクリメントされる。
その結果、割子数データCは、“5”となる。
【0074】次のステップS39において、割子数デー
タCから約数が算出して求められるが、現在割子数デー
タCは“5”となっているので、前述したように、ステ
ップS40において、その割子数データCは“2”、
“3”、“5”、“7”のいずれの2倍以上の倍数では
ないと判定され、処理は再びステップS32に戻る。
【0075】ステップS32において、今度は置数デー
タD“47”を割子数データC“5”で割る除算処理が
実行され、その解“9.4”が商データqとして商用レ
ジスタ(q)55に格納される。この場合、続くステッ
プS33及びS35において、商データq“9.4”が
割子数データC“5”よりも大きく、割り切れないとい
う判定が下され、ステップS36において割子数データ
Cはさらにひとつインクリメントされる。その結果、割
子数データCは“6”となる。
【0076】このように、割子数データCは“3”でな
いことから、処理はステップS37に移行し、今回、割
子数データCが“6”であることから、次のステップS
38においてさらに割子数データCがひとつインクリメ
ントされる。その結果、割子数データCは、“7”とな
る。
【0077】次のステップS39において、割子数デー
タCから約数が算出して求められるが、現在割子数デー
タCは“7”となっているので、前述したように、ステ
ップS40において、その割子数データCは“2”、
“3”、“5”、“7”のいずれの2倍以上の倍数では
ないと判定され、処理は再びステップS32に戻る。
【0078】ステップS32において、今度は置数デー
タD“47”を割子数データC“7”で割る除算処理が
実行され、その解“6.7…”が商データqとして商用
レジスタ(q)55に格納される。この場合、続くステ
ップS33において、商データq“6.7…”が割子数
データC“7”よりも小さいという判定が下され、処理
はステップS34に移行し、そこで置数データDは素数
である旨の表示を実行する。すなわち、図6(c)に示
した例のように、表示部7において、すでに置数及び約
数表示エリア71Cに表示している“45/3”ととも
に、素数表示エリア71Bに、“素数”の表示文字に対
応させて置数データDの“47”が表示される。
【0079】このように、使用者がデータ入力キー群4
3を操作して入力した数値“45”については、CPU
30によって素数演算処理の後、後素数から検出された
素数が“47”である旨の表示によって解答される。
【0080】このように、上述した実施の形態によれ
ば、適当に数値を入力するだけでその数値が素数か否か
を求めることができるので、何度も数値を入力する手間
が省け、誤入力を起こすことのない簡単な操作で確実に
素数を求めることが可能である。
【0081】また、入力した数値が素数でなくてもその
数値の前後から素数を自動的に求めるようにしたので、
素数が見つかるまで何度も数値を入力するという手間が
省けて、最初に入力した数値の近傍から素数を求めるこ
とができる。
【0082】また、入力した数値を基準に求めた素数を
表示する際に、入力した数値が素数である場合にその数
値を素数として表示したり、入力した数値の前後から素
数を求めた場合にその素数と入力した数値とを表示する
ようにしたので、入力した素数を基にしてどのように素
数を求めたのかその演算内容を確認することができる。
【0083】また、入力された数値が素数でなかった場
合にその数値の前後のいずれかの方向に検索方向を指定
するようにしたので、その数値を基準に所望の方向より
素数を見つけることができる。
【0084】
【発明の効果】以上説明したように請求項1記載の発明
によれば、適当に数値を入力するだけでその数値が素数
か否かを求めることができるので、素数が見つかるまで
何度も数値を入力するという手間が省け、誤入力を起こ
すことのない簡単な操作で確実に素数を求めることが可
能な電子計算機を得られるという効果を奏する。
【0085】請求項2記載の発明によれば、入力した数
値が素数でなくてもその数値の少なくとも前又は後のど
ちらか一方から素数を自動的に求めるようにしたので、
素数が見つかるまで何度も数値を入力するという手間が
省けて、最初に入力した数値の近傍から素数が求まり、
これによって、誤入力を起こすことのない簡単な操作で
確実に素数を求めることが可能な電子計算機を得られる
という効果を奏する。
【0086】請求項3記載の発明によれば、入力した数
値を基準に求めた素数を表示する際に、入力した数値が
素数である場合にその数値を素数として表示したり、入
力した数値の前後から素数を求めた場合にその素数と入
力した数値とを表示するようにしたので、入力下素数を
基にしてどのように素数を求めたのかその演算内容を確
認することができると共に、素数が見つかるまで何度も
数値を入力するという手間が省け、誤入力を起こすこと
のない簡単な操作で確実に素数を求めることが可能な電
子計算機を得られるという効果を奏する。
【0087】請求項4記載の発明によれば、入力された
数値が素数でなかった場合にその数値の前後のいずれか
の方向に検索方向を指定するようにしたので、その数値
を基準に所望の方向より素数を見つけることができ、こ
の場合にも、素数が見つかるまで何度も数値を入力する
という手間が省け、誤入力を起こすことのない簡単な操
作で確実に素数を求めることが可能な電子計算機を得ら
れるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る電子計算機の一実施の形態を示す
ブロック図である。
【図2】本実施の形態における素数演算処理を説明する
フローチャートである。
【図3】図2に示した素数演算処理における素数検出処
理を説明するフローチャートである。
【図4】図2に示した素数演算処理においてキー入力と
その表示との対応を示す図である。
【図5】図2に示した素数演算処理においてキー入力と
その表示との対応を示す図である。
【図6】図2に示した素数演算処理においてキー入力と
その表示との対応を示す図である。
【符号の説明】
1 電子計算機 2 CPU 3 ROM 4 キー入力部 5 RAM 6 表示駆動回路 7 表示部 41 前素数キー 42 後素数キー 43 データ入力キー 44 ファンクションキー 51 表示用レジスタ 52 検索方向用レジスタ 53 割子数用レジスタ 54 置数用レジスタ 55 商用レジスタ 56 ワークエリア

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】任意の数値データを入力する入力手段と、 この入力手段により入力された数値データが正の整数で
    あるか否かを判定する正数判定手段と、 この正数判定手段において前記入力手段により入力され
    た数値データは正の整数であるという判定結果が得られ
    た場合、前記入力手段により入力された数値データが、
    1または前記入力手段により入力された数値データ自身
    の他に約数をもつか否かを判定する約数判定手段と、 この約数判定手段により約数をもたないという判定結果
    が得られた場合、前記入力手段により入力された数値デ
    ータを素数として表示する素数表示手段と、 を備えたことを特徴とする電子計算機。
  2. 【請求項2】さらに、 前記約数判定手段により約数をもつという判定結果が得
    られた場合、前記入力手段により入力された数値データ
    が示す数値の少なくとも前又は後のどちらか一方の数値
    から素数を検索する素数検索手段と、 前記素数検索手段により検出された素数を表示する検出
    素数表示手段と、 を有したことを特徴とする請求項1記載の電子計算機。
  3. 【請求項3】前記検出素数表示手段は、少なくとも前記
    素数検索手段により検出された素数の表示、前記素数検
    索手段により検出された素数と前記入力手段により入力
    された数値データに基づく数値の表示、又は、前記素数
    検索手段により検出された素数と前記入力手段により入
    力された数値データに基づく数値と当該数値の約数の表
    示のいずれかひとつを表示することを特徴とする請求項
    2記載の電子計算機。
  4. 【請求項4】前記素数検索手段は、前記入力手段により
    入力された数値データが示す数値に対してその数値より
    小さい数に向かって素数を検索する前検索と、その数値
    より大きい数に向かって素数を検索する後検索とのいず
    れかを指定する検索方向指定手段を有することを特徴と
    する請求項2又は3記載の電子計算機。
JP3666796A 1996-02-23 1996-02-23 電子計算機 Pending JPH09231176A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3666796A JPH09231176A (ja) 1996-02-23 1996-02-23 電子計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3666796A JPH09231176A (ja) 1996-02-23 1996-02-23 電子計算機

Publications (1)

Publication Number Publication Date
JPH09231176A true JPH09231176A (ja) 1997-09-05

Family

ID=12476218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3666796A Pending JPH09231176A (ja) 1996-02-23 1996-02-23 電子計算機

Country Status (1)

Country Link
JP (1) JPH09231176A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2371379A (en) * 2000-11-03 2002-07-24 Joseph Ichongiri An electronic calculator having a prime discrimination function key

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2371379A (en) * 2000-11-03 2002-07-24 Joseph Ichongiri An electronic calculator having a prime discrimination function key

Similar Documents

Publication Publication Date Title
JP3140916B2 (ja) 数式入力装置
JPH08137804A (ja) 情報処理装置
JPH09231176A (ja) 電子計算機
US5870318A (en) Computers with a proof function
JP3252493B2 (ja) 電子式計算機及びその計算処理方法
US6026449A (en) Computers with a proof function
JP3498323B2 (ja) 電子式計算機及び演算処理方法
JP2738594B2 (ja) 電子計算機
JP2738851B2 (ja) 複数カーソルによる入力データ処理表示方法
JPH04235658A (ja) グラフ表示制御装置及びグラフ表示制御方法
JP2700960B2 (ja) 電子式卓上計算機
JPH05324564A (ja) 電子計算機
JP2000122979A (ja) 計算装置及び記憶媒体
JPH07319822A (ja) チェック機能付小型計算機
JP2560344Y2 (ja) 小型電子式計算機
JPH04436Y2 (ja)
JP2003150563A (ja) 計算機及び計算処理プログラム
JPH11161613A (ja) 電子計算装置、計算方法、及び計算処理プログラムを記録した記録媒体
JP2707162B2 (ja) データ処理装置
JPS6243227B2 (ja)
JPH0194483A (ja) 配置設計支援装置
JPS6225208B2 (ja)
JPH09179725A (ja) 電子計算機
JPS61275960A (ja) グラフ表示機能を備えた小型電子式計算機
JPH09146890A (ja) 電子計算機