下面我们将查看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.首先,我们声明三个变量。一个整数变量称为除数,一个Long变量称为number,一个Long变量称为i。我们在这里使用Long变量是因为Long变量比Integer变量具有更大的容量。
Dim除数为 Integer,number 为 Long,i As Long
2.我们初始化两个变量。我们用值0初始化变量除数。我们使用InputBox函数从用户那里得到一个数字。
除数= 0
数字= InputBox(“输入数字”)
数字= InputBox(“输入数字”)
用户输入数字后,我们要检查该数字是否是质数。请记住,素数恰好有两个不同的数除数:1和它本身。
3.我们开始一个For Next循环。
对于 I = 1张到数
4.现在是程序中最重要的部分。要计算数字的除数,我们使用Mod运算符。Mod运算符给出除法的余数。因此7 mod 2将得到1。7被2除(3次)以得到1的余数。仅当“ number mod i'等于0时,i是数字的除数。在这种情况下,我们要增加变量除数为1。下面的宏可以解决问题。
如果数国防部 I = 0 。然后
除数=除数+ 1
结束 如果
除数=除数+ 1
结束 如果
Excel VBA会在i = 1,i = 2,i = 3,i = 4之前进行检查,直到i = number。请注意,i = 1和i = number始终是数字的因数。仅当这些数字是数字的唯一除数时,该数字才是质数。
5.不要忘记闭环。
接下来我
6.如果除数等于2,我们将显示一个消息框,表明输入的数字是质数。如果除数的数量大于2,我们将显示一个msgbox,表明输入的数字不是质数。
如果除数= 2 然后
MSGBOX数&“是质数”
否则
MSGBOX数&“是不是一个质数”
结束 。如果
MSGBOX数&“是质数”
否则
MSGBOX数&“是不是一个质数”
结束 。如果
7.测试程序。
104729的结果: