Java中的素数测试如何工作?

Java中的素数测试如何工作?,第1张

Java中的素数测试如何工作? 整体理论

条件

if (number % j == 0)
询问是否可以
number
整除
j

素数的定义是

一个只能被自己和1整除的数字

因此,如果您测试2到number之间的所有数字,并且没有一个数字能被整除,则它是质数,否则就不是质数。

当然,您实际上不必一路前进

number
,因为
number
不能被一半以上的东西完全整除
number

具体章节While循环

本节将通过增加j的值进行 *** 作,如果我们假装

number
= 12,则它将通过
j
= 2,3,4,5,6

  int j = 2;  .....  while (j <= number / 2)  {      ........      j++;  }
如果陈述

result
如果在任何点
number
都可被整除,则此部分设置为1
j
。一旦设置为1,
result
就永远不会 复位 为0。

  ......  if (number % j == 0)  {     result = 1;  }  .....
进一步改进

当然,您可以进一步提高它,因为您实际需要的不高于

sqrt(number)
此,但是此代码段决定不这样做。您不需要继续走高的原因是因为(例如)如果40可以被4整除,那么它就是4* 10,则不需要测试4和10。并且在这对对中始终会在下面
sqrt(number)

还值得注意的是,它们似乎打算

result
用作布尔值,但实际上使用整数0和1来表示true和false。这不是一个好习惯。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5600996.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存