素数を出力するプログラム

おもしろそうだったのでつくってみた^^
言語は lotusscript 。

Sub Initialize
	
	Dim entry_num As String	'入力された数字(変換前)
	Dim num As Integer			'入力された数字(変換後)
	Dim i As Integer			'カウント用
	Dim j As Integer			'カウント用
	Dim p As Integer			'配列要素数
	Dim aliquot As Integer		'約数の数
	Dim aliquot_num As String	'約数
	
	entry_num = InputBox$("数字入力", "Prime number")
	If entry_num = "" Then
		Print "数字入力して!"
	Else
		num = CInt(entry_num)
		aliquot_num = ""
		
		For i = 1 To num
			aliquot = 0
			For j = 1 To i
				If i Mod j = 0 Then
					aliquot = aliquot + 1
				End If
			Next
			If aliquot = 2 Then
				If aliquot_num <> "" Then
					aliquot_num = aliquot_num + " , "
				End If
				aliquot_num = aliquot_num + CStr(i)
			End If
		Next
		
		'出力
		MsgBox "入力した数字の範囲内にある素数は…" + Chr(10) + Chr(13) + aliquot_num
	End If
	
End Sub

100 を入力したときの出力結果

10000 を入力したら、画面に入りきらないくらい出てきて吹き出しそうになったw
ちなみに処理時間は15秒ほど。

計算方法とかところどころ調べてしまったのが悔しい。。
しかも 1 も素数だと勘違いしてたorz

てか、ブログ書くのいつぶりよ^^#

久しぶりに楽しかったです^^