■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#5727-0素数を求めるプログラムるみ1999-12-16(木) 00:59
     #5728-0RE#5727:素数を求めるプログラムKata1999-12-16(木) 01:39
     #5731-0RE#5727:素数を求めるプログラムアシュラ1999-12-16(木) 02:19
#5727-0
素数を求めるプログラム
1から200までの素数を求めるプログラムを組みたいのですが、対象の数値
が素数であるかどうかの判定で、「その数より小さい数で割り切れるかどうか
を2まで繰り返す」というのを、どうコーディングしたらよいのか、あと、結
果をメッセージボックスで一括表示する方法がわかりません。
誰かわかる方がいたら、教えて下さい。お願いします。
#5728-0
RE#5727:素数を求めるプログラム
> 1から200までの素数を求めるプログラムを組みたいのですが、対象の数値
> が素数であるかどうかの判定で、「その数より小さい数で割り切れるかどうか
> を2まで繰り返す」というのを、どうコーディングしたらよいのか、あと、結
> 果をメッセージボックスで一括表示する方法がわかりません。

まず、コーディングの前に「自分自身が確認するにはどうするか」を考えてみて
ください。例えば、36は素数か否か、41は素数か否か・・・と。
幾つか繰り返せば、自分自身がそのような「手続」でその判定を行っているかが
判ると思います。
(素因数分解の手順を考えるというのも1つの方法ではないかと思います。)

もっとも、それ以外の方法としては「エラトステネスの篩(ふるい)」を地で行く
方法があるとは思います。
これは、nの倍数となる数値をどんどん消して行くというもので、最後に残ったもの
が自ずと素数として列挙されるという単純ながらとても明快な方法です。
一般の素数判定では使い道がありませんが、ある範囲の素数の列挙としてはとても
有効な手段だと思います。

#ついでですが、「1」は通常、素数として計上しません。
#それと、nの素数判定をする場合は、2からnの平方根の整数値までの割り算で判定
#可能です。
#5731-0
RE#5727:素数を求めるプログラム
Kataさんが素晴らしいレスを付けてくれたので私は補足(蛇足)として
mod 演算子を使うと"2 つの数値の除算を行い、その剰余を返します"
例えば
  3 Mod 3 = 0
  5 Mod 2 = 1
 10 Mod 2 = 0
 10 Mod 3 = 1
で自分(素数かどうか調べる数値)が2じゃない時、2から自分 - 1の範囲の数値でMod
演算をして全てが0を返さなければ・・・・
という方法で取り敢えず素数かそうでないかの判断は出来るのでは?ソースも10行
いかないくらいですし。

でも私はKataさんがレスした

>もっとも、それ以外の方法としては「エラトステネスの篩(ふるい)」を地で行く
>方法があるとは思います。
>これは、nの倍数となる数値をどんどん消して行くというもので、最後に残ったもの
>が自ずと素数として列挙されるという単純ながらとても明快な方法です。

の方も試してもらいたいですね。これが初歩(?)のアルゴリズムですから。
このページと関連する記事:
#8079-0MIDI1999-10-23(土) 00:34
#21694-0エラー箇所にフォーカスを持っていく2001-07-05(木) 11:41
#42087-0RE#42086:VBでうるう年を計算する電卓のソースを教えてください2001-04-22(日) 19:21
#13294-04-9抜き表を作りたいのですが・・・2000-12-07(木) 23:35
#27039-0文字列、数値の判定2002-02-21(木) 15:04
#18043-0ランダムで・・2001-01-23(火) 09:21
#12633-0LostFocusで2000-11-08(水) 12:11
#1297-0サブクラス化時のメッセージ判定について、教えてください。2001-11-09(金) 17:16
#1297-2サブクラス化時のメッセージ判定について、教えてください。2001-11-09(金) 08:16
#17575-0テキストボックスの入力について2001-09-04(火) 17:17
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)