先生は大変だろうなぁ、などと思っています。
それはそれとして、Excel VBAで簡単な数学のプログラムを作ってみました。個人的には、こういうプログラムは教育的だと思っています。
まずは素数の判定プログラムです。
999611と999613のように双子の素数を見つけたりすると少し楽しいです。
実際に実行してみると、計算時間を体感できます。例えば10000桁の素数を探すことがいかに大変かが分かります。素数は無限に存在しますが、その意味を体感している感じです。
ソースコードは、ご自由にご利用ください。ただし、趣味のプログラムなので、保証はありません。
Option Explicit
'素数を調べる
Public Sub Macro()
Dim i As Long
For i = 1 To 100
Sheet1.Cells(i, 1) = i
If isPrime(i) Then
Sheet1.Cells(i, 2) = "Prime"
End If
Next i
End Sub
Public Function isPrime(x As Long) As Boolean
Dim i As Long
Dim max As Long
isPrime = True
max = CLng(Math.Sqr(x))
For i = 2 To max
If x Mod i = 0 Then
isPrime = False
i = max
End If
Next i
End Function
0 件のコメント:
コメントを投稿