楼主 apolloh |
Q:如何判断一个数是否是质数或合数? A:如果除1以外任意正整数整除则为合数,反之为质数。 1为既不是质数也不是合数,2、3都是质数,除此外如果一个数能被2到小于其开方的最大整数整除,则为合数,否则为质数。判断质数的公式为:
|
2楼 刘志文 |
学习一下!! |
3楼 chrisfang |
黄版漏掉了一个数字1。 再给一个另外的公式:
|
4楼 apolloh |
谢谢方兄纠正,1为非质非合,已更正。 |
5楼 zlxtl |
Q:如何获得1-1000之间的质数,用一个公式完成 A:用MMULT和TRANSPOSE\SMALL等等配合 运算量很多,电脑差的话不太适合本公式 =SMALL(IF(MMULT((MOD(ROW($1:$1000),TRANSPOSE(ROW($1:$1000)))=0)*1,ROW($1:$1000)^0)<=2,ROW($1:$1000)),ROW(2:2)) |
6楼 zlxtl |
换个思路 =SMALL(IF(MMULT(N(MOD(ROW($2:$999),COLUMN(B:ALK))=0),ROW($1:$998)^0)=1,ROW($2:$999),1000),ROW(A1)) |
7楼 dior |
参观学习,慢慢理解。 |
8楼 Zaezhong |
|
9楼 dior |
貌似>4是错误的。>3才行。不然4就漏了。 |
10楼 bluexuemei |
学习版主们强大的公式! |
11楼 sylzldd |
版主的公式漏掉了4 |
12楼 传递 |
哪个公式是最佳的? 我扫盲阶段,功力不够,不知道哪个该是推荐的公式。期待黄版 提示一下。 |
13楼 larkzh |
正确。 |
14楼 ifljh |
我试了一下200000001显示是质数哦。 |
15楼 ifljh |
我试了一下200000001是质数啊。可这明明是个合数。哪里出了问题呢? |
16楼 ifljh |
好像没用啊。=IF(A4="","",IF(A4=1,"非质非合",IF((A4<4)+MIN(MOD(A4,ROW(INDIRECT("2:"&INT(A4^0.5))))),"质数","合数"))) |