栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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。这不是一个好习惯。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号