LoginSignup
0
0

More than 3 years have passed since last update.

素数の出力プログラム

Last updated at Posted at 2020-02-29

素数を出力するプログラムをマクロで作ってみた

こんにちは、Mottyです。

概要

関数あるいは漸化式で表すことができるような単純な数であれば出力は簡単ですが、
そのような規則性がないものの場合、各値に対して真偽を判定させる必要があります。
今回は素数の出力をVBAで行ってみました。

素数

素数の定義は約数を"自分と1"の2つ以外に持たない数の集まりです。
ある数が素数かどうかを調べるには、1からある数まで順番に割り切れるかどうかを調べる
必要があります。

次の2つ(100,97)が素数かどうか調べたいと思ったときは
下記のようなプログラムになります。

prime.bas
Sub Main()

   Call prime(100) '
   Call prime(97) '

End Sub

Sub prime(Byval i As Long)

'素数判定がTrueなら出力
If IsPrime(i) Then
    debug.print(i)
End If

End Sub

'---素数判定---
Function IsPrime(Byval num As Long) As Boolean
Select Case num
   Case 1:
      IsPrime = False   
   Case Is >1:

      cnt = 2
      Do While cnt = num - 1
         If num Mod cnt = 0
            IsPrime = False
         End If
         cnt = cnt + 1
      Loop

      IsPrime = True

End Function

戻り値としてほしい場合は、Functionプロシージャーに変えていただければOKです。
以上、VBA系の作品もちょくちょく投稿していきたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0