素数检查在Excel VBA
下面我们就来看看在Excel VBA的程序检查是否一个数是素数或不。
在开始之前:在数学,一个素数是刚好有两个不同的号码约数一个数字:1和它本身。最小的25质数是: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.首先,我们声明三个变量。一个整型变量我们称为除数,一个长变量我们称之为数字和一个长变量我们称之为我。在这里,我们使用长变量,因为龙变量比整型变量更大的容量。
Dim divisors As Integer, number As Long, i As Long
2.我们初始化两个变量。我们初始化值0。我们使用InputBox函数来从用户那里获取了一些变量除数。
divisors = 0 number = InputBox("Enter a number")
用户输入号码后,我们要检查这个数字是否是质数或不是。请记住,一个素数恰好有两个不同的数字除数:1和它本身。
3.我们开始为下一个循环。
For i = 1 To number
4.现在到了计划中最重要的组成部分。计算一个数值的约数数,我们使用Mod运算符。 Mod运算符给出了一个除法的余数。所以7 MOD 2将给予1 7 2(3次)分给予的1其余部分只有“数MOD I”等于0,我是数的约数。在这种情况下,我们要增加变量通过1除数宏下面不奏效。
If number Mod i = 0 Then divisors = divisors + 1 End If
Excel VBA中检查此,对于i = 1,I = 2,I = 3,I = 4,直到I =号码。
注意,I = 1和I =数量始终是数量的约数只有当这些数字是数字的只有约数,数量是一个素数
5.不要忘记关闭循环。
Next i
6.如果除数等于2,我们会显示一个MsgBox说,输入的号码是一个素数。如果除数的数量高于2,我们会显示一个MsgBox说,输入的号码是不是素数
If divisors = 2 Then MsgBox number & " is a prime number" Else MsgBox number & " is not a prime number" End If
7.测试程序
为104729结果:。