当前位置: 首页 > news >正文

新网 主办网站已备案百度代理查询系统

新网 主办网站已备案,百度代理查询系统,微商城手机网站设计公司,网站开发托管协议我们首先先来了解一下什么是素数 素数:一个整数只能被1和自身整除 , 注意:0与1不是素数 目录 方法一:暴力法 方法二:除二法(优化) 方法三.根号法(最优法) 方法一:暴力法 最简单最暴力的方法就是根据定义,判断n是不是素数,让n除以2到n-1的所有数,只要遇到能除开…

 我们首先先来了解一下什么是素数 

素数:一个整数只能被1和自身整除 , 注意:0与1不是素数

目录

方法一:暴力法

 方法二:除二法(优化)

方法三.根号法(最优法)


方法一:暴力法

最简单最暴力的方法就是根据定义,判断n是不是素数,让n除以2到n-1的所有数,只要遇到能除开的,就证明n一定不是素数 , 因为如果n为素数,则只有1和n为因数。

​public class Text {public static void main(String[] args) {System.out.println("请输入一个整数 ");Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();if(n==0||n==1){System.out.println(n+"不是素数");}int i = 2;for (; i <= n - 1; i++) {if (n % i == 0) {System.out.println("不是素数");break;}}// 如果一个数 , 一直循环到了n-1 ,n%i也不为0,那就意味着只有1和它本身能被整除 ,那这个数就为素数// 循环到此处时 i等于n//如果一个数 ,在2到n-1被整除了,那么程序运行到此处时 i一定不等于n,说明它不是素数if(i==n){System.out.println(n+"是素数");}}
}​

 方法二:除二法(优化)

将循环范围定在2到n/2(原理:任何一个数的最大因数都小于等于它的二分之一,所以只要从2查找到n/2,如果都没有被整除即为素数,因为到这里已经查找到他的最大因数了,再往后的数字都是除不开的

eg:30的最大因数为15(能够被三十除近的数只能在1到15 )

     100的最大因数为50

public class Text {public static void main(String[] args) {System.out.println("请输入一个整数 ");Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();if(n==0||n==1){System.out.println(n+"不是素数");}int i = 2;for (; i < n/2; i++) {if (n % i == 0) {System.out.println(n+"不是素数");break;}}if(i>=n/2){System.out.println(n+"是素数");}}
}

方法三.根号法(最优法)

到这里我们发现虽然循环次数减半但不是最优解,而考虑1-根号n时,又缩小了范围,eg:根号17为4.123,而17/2为8.5.

下面具体讲解一下根号法的思路

当我们考虑到根号的情况时,会发现:一个数的两个因数必然会有一个大于根号n , 一个小于根号n

(因为平方根后的两个数一定是相等的,eg:16的两个根为4*4,要想使用其他情况的两种根,必然一个大于4,一个小于4,不可能一个数为4,一个数为除了4以外的数,那结果一定不为16了)

eg:100的因数有:1和100,2和50,4和25,5和20,10和10.只要从2尝试到根号n(也就是10),如果都没有被整除,就是素数,否则就不是。

public class Text {public static void main(String[] args) {System.out.println("请输入一个整数 ");Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();if(n==0||n==1){System.out.println(n+"不是素数");}int i = 2;double tmp=Math.sqrt(n);//注意根号后的结果是double类型for (; i < tmp; i++) {//eg:如果temp为3.14,循环到了整数3,也无法整除,那就意味着,这个数是素数i++后就会变成4if (n % i == 0) {System.out.println("不是素数");break;}}if(i>=tmp){//上方说道i++后会变成4,也就是i>temp,即为素数System.out.println(n+"是素数");}}
}

 

http://www.yidumall.com/news/109477.html

相关文章:

  • 西宁做网站最好的公司哪家好推广是什么意思
  • 常州企业网站网站关键词排名优化工具
  • 宝鸡外贸网站建设chrome谷歌浏览器官方下载
  • 灵璧哪有做网站的宁德市房价
  • 东莞网站建设与网络推广宁波网络推广优化公司
  • 合肥哪家做网站好微信搜一搜怎么做推广
  • 淘宝客单页网站怎么做免费推广平台
  • 冠县网站建设软文有哪几种类型
  • 网站 中国最早做网站的百度软件市场
  • 山东省住房建设厅网站首页优化排名软件
  • 最便宜网站空间厦门关键词seo排名网站
  • wordpress视频缩略图nseo推广服务哪家好
  • 小程序制作服务器百度关键词优化查询
  • 为什么要做官方网站互联网营销师含金量
  • 免费网站定制热门推广平台
  • 珠宝商城网站模板百度优化seo
  • 非洲用什么网站做采购今天时政新闻热点是什么
  • 甘肃网站建设公司识图找图
  • 网站建设目的功能手机百度网盘下载慢怎么解决
  • 佛山网站代运营网络营销心得体会800字
  • 商城形式的网站需要多少钱大型网站建设
  • 论坛网站太难做没人客户引流推广方案
  • 白银市建设局网站首页网络销售就是忽悠人
  • 马鞍山网站建设公好看的网站设计
  • 支付宝也做网站吗运营seo是什么意思
  • 成都商城网站开发设计打开搜索引擎
  • 武汉微网站建设百度知道登录
  • 贵阳 网站建设数据分析师报考官网
  • 国外游戏ui设计网站百度推广介绍
  • 河北邢台移动网站建设百度地图下载2022新版安装