エクセルVBAでの素数チェッカー
下に私たちは、チェック数が素数であるかどうかというエクセルVBAでプログラムを見ていきます。
始める前に:1と自分自身:数学では、素数は正確に二つの異なる数の約数を持つ数です。最小二十から五素数である:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73 、79、83、89及び97、例えば、図8は、除数として1、2、4および8を有しており、素数ではありません。
状況:
1.まず、私たちは三つの変数を宣言します。 1つの整数変数我々は除数、我々は数と、我々は、私を呼び出す1つのロング変数を呼び出す1つのロング変数を呼び出します。ロング変数が整数変数よりも大きな容量を持っているので、私たちはここに長いの変数を使用しています。
Dim divisors As Integer, number As Long, i As Long
2.私たちは、2つの変数を初期化します。私たちは、ユーザーからの番号を取得するために、InputBox関数を使用して値0を持つ変数除数を初期化します。
divisors = 0 number = InputBox("Enter a number")
ユーザーが番号を入力した後、我々はこの数が素数であるかどうかを確認したいです。素数が正確に二つの異なる数の約数を持って、覚えている:1と自分自身を。
3.私たちは、次のループの開始します。
For i = 1 To number
4.ここで、プログラムの最も重要な部分が来ます。数の約数の数を計算するために、我々はモッズ演算子を使用します。 Modの演算子は、除算の余りを返します。 MOD 2 1. 7を与えるだろう7ように「数iが「私は数の約数で、0に等しい国防省場合のみ1の残りの部分を与えるために2(3回)で割っている。このケースでは、変数をインクリメントしたいです以下のマクロがトリックを行う1.によって除数。
If number Mod i = 0 Then divisors = divisors + 1 End If
のExcel VBAチェックこのI = 1のため、私は数=まで、iが4 =、= 3、2 =
。私は1を=と私は常に数の約数であるこれらの数字は数の唯一の約数である場合にのみ番号を=。なお、数が素数である
5ループを閉じることを忘れないでください。
Next i
6除数が2の場合、我々は入力された数が素数であるというメッセージボックスを表示する。除数の数が2以上である場合には、我々は言ってメッセージボックスを表示している入力された数値素数でない
If divisors = 2 Then MsgBox number & " is a prime number" Else MsgBox number & " is not a prime number" End If
7テストプログラム
104729のための結果:。。