小兔网

下面我们将查看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,而不是质数。

情况:

Excel VBA中的素数检查器

1.首先,我们声明三个变量。一个整数变量称为除数,一个Long变量称为number,一个Long变量称为i。我们在这里使用Long变量是因为Long变量比Integer变量具有更大的容量。

Dim除数 Integer,number  Long,i As Long

2.我们初始化两个变量。我们用值0初始化变量除数。我们使用InputBox函数从用户那里得到一个数字。

除数= 0
数字= 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
结束 如果

Excel VBA会在i = 1,i = 2,i = 3,i = 4之前进行检查,直到i = number。请注意,i = 1和i = number始终是数字的因数。仅当这些数字是数字的唯一除数时,该数字才是质数。

5.不要忘记闭环。

接下来

6.如果除数等于2,我们将显示一个消息框,表明输入的数字是质数。如果除数的数量大于2,我们将显示一个msgbox,表明输入的数字不是质数。

如果除数= 2 然后
    MSGBOX数&“是质数”
否则
    MSGBOX数&“是不是一个质数”
结束 。如果

7.测试程序。

104729的结果:

素数检查器结果