首 页 行业热点 新车 试驾评测 养车用车 车型库

EXCEL:求相同合数

发布网友

我来回答

2个回答

热心网友

1质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。

根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。

2如下图所示,假如A1单元格是任意一个自然数,根据定义可以通过以下数组公式来判断它是否是质数。

=IF(A1>1,IF(SUM(1*(MOD(A1,ROW(INDIRECT("1:"&A1)))=0))=2,"质数","合数"),"既不是质数也不是合数")

3公式解释,首先根据定义质数必须是大于1,所以先判断A1>1,然后根据定义

一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,也就是一个数除以介于1和本身之间的数都不能整除,所以用公式

SUM(1*(MOD(A1,ROW(INDIRECT("1:"&A1)))=0))=2  进行判断是否可以整除的就只有1和本身。其中

ROW(INDIRECT("1:"&A1))是指1和本身之间的所有的自然数。如下图所示

4以上的方法是用1和数字本身之间的所有的自然数去相除来判断是否是质数的方法,这个方法对于小数字是没有问题的,如果是一个比较大的数字则公式会出问题。比如在2003版本中最大的行数是65536,假如要判断大于65536的个数是否为质数,用以上的方法就会出错了。

如下图所示

5如果要判断一个较大的数是否是质数,还可以利用质数的一个定理

在一般领域,对正整数n,如果用2到根号n之间的所有整数去除,均无法整除,则n为质数。

6根据以上的定理,可以将公式改为

=IF(A1>1,IF(SUM(1*(MOD(A1,ROW(INDIRECT("1:"&INT(SQRT(A1)))))=0))=2,"质数","合数"),"既不是质数也不是合数")

用INT(SQRT(A1))代替A1减少整除的数目,来将待判断的数字增大。

热心网友

写代码来实现

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com