源码先锋

源码先锋

如何利用Excel函数判断一个数是否为素数?

admin 72 177

素数,也称质数,是指这样一类大于1的自然数,即只有1和本身两个因素,不存在其他更多因素。如果给定一个数,我们要如何去验证它是否是一个素数呢?

素数的判断思路是这样的,即对自然数n,如果用2到n的平方根之间的所有整数去除,均无法整除,那么n即为素数。

我们可以利用这个判定思路,写出一个函数公式来判断一个数是否为素数,具体请看如下图文示例:

利用数组公式:=TEXT(IFNA(MATCH(,MOD(A2,ROW(INDIRECT("2:"INT(SQRT(A2))))),),),"否;;是"),即可判断一个数是否为素数。

公式解析:

1、MOD(A2,ROW(INDIRECT("2:"INT(SQRT(A2))))),计算该数除以2到其平方根的余数;

2、IFNA(MATCH(,MOD(A2,ROW(INDIRECT("2:"INT(SQRT(A2))))),),),判断所有余数中是否存在0,即判断是否能被除尽;

3、TEXT(IFNA(MATCH(,MOD(A2,ROW(INDIRECT("2:"INT(SQRT(A2))))),),),"否;;是"),如果存在能被除尽的数,那么就不是素数,否则是素数。