Java_质数

什么是质数:

"质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。"

测试两个求质数的方式:

测试数据一、测试数量【10万】

方式一:Boolean

/**                                           * 1、100000以内的质数                              */
int num=10000;
long start = System.currentTimeMillis();
for (int i = 2; i <= num; i++) {              boolean b=true;                           for (int j = 2; j <i; j++) {              if(i%j==0){                           b=false;                          break;                            }                                     }                                         if(b){                                    System.out.println(i);                }
}
long end = System.currentTimeMillis();
System.out.println("第一种用时:"+(end-start)+"毫秒");

方式二:【&】

int num=10000;
long start1 = System.currentTimeMillis();
for(int i=2;i<=num;i++) {                           for(int j=2;j<=i;j++) {                        if(i%j==0 && i!=j) {                       break;                                  }                                          if(j==i) {                                 System.out.println(i);                   }                                          }
}
long end1 = System.currentTimeMillis();
System.out.println("第二种用时:"+(end1-start1)+"毫秒");   

测试的时候中间加上【gc】啊

System.gc();

对比图:【去掉输出】

总结:两者相较差不多,所以那种都可以。

测试数据二、【1000000】百万

测试编码:

package test;public class Action {public static void main(String[] args) {/*** 1、100000以内的质数*/int num=1000000;long start = System.currentTimeMillis();for (int i = 2; i <= num; i++) {boolean b=true;for (int j = 2; j <i; j++) {if(i%j==0){b=false;break;}}if(b){
//              System.out.println(i);}}long end = System.currentTimeMillis();System.out.println("第一种用时:"+(end-start)+"毫秒");System.gc();long start1 = System.currentTimeMillis();for(int i=2;i<=num;i++) {            for(int j=2;j<=i;j++) {if(i%j==0 && i!=j) {break;                 }if(j==i) {
//                    System.out.println(i);                    }               }}long end1 = System.currentTimeMillis();System.out.println("第二种用时:"+(end1-start1)+"毫秒");}
}

效果:

基本上可以看出来,第二种的方式消耗时间还是稍微多一点点的。

希望能对大家有所帮助

Java_质数_两种解法(时间对比)相关推荐

  1. 牛客--追债之旅 两种解法

    文章目录 第一种 第二种: 一共两种解法,所以即便你不会最短路,也可以做,甚至爆搜+剪枝的时间和空间消耗小于最短路做法. 第一种 题意: 小明现在要追讨一笔债务,已知有n座城市,每个城市都有编号,城市 ...

  2. usaco Ordered Fractions 顺序的分数(两种解法)

    这题很好玩,这里有两种解法. 第一种我自己写的,先找到所有的既约真分数,然后写了一个cmp函数进行排序最后输出.我写的时候还在想这章不是搜索吗这跟搜索关系不大吧,难道是怕我们思维定式化故意出的题不是搜 ...

  3. 约瑟夫环问题的两种解法(详解)

    约瑟夫环问题的两种解法(详解) 题目: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓.于是决定了自杀方式,41个人排成一个圆 ...

  4. leetcode 73 矩阵置零 C++ 两种解法

    leetcode 73 两种解法~~,没有一个是我想出来的,哈哈~~ one class Solution {public:void setZeroes(vector<vector<int ...

  5. 北林oj-算法设计与分析-Line up in the canteen(两种解法,附思路)

    描述 One day, there is a kind of new delicious food from one of the windows in the canteen. All studen ...

  6. 洛谷——P1597 语句解析(两种解法)

    P1597 语句解析(两种解法) 题目背景 木有背景-- 题目描述 一串长度不超过 255 的 PASCAL 语言代码,只有 a,b,c 3 个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变 ...

  7. 整数拆分的两种解法(已完成)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 整数拆分 ...

  8. 【知识学习】C# List<T>取并集并去重的两种方法时间消耗比较

    C# List<T>取并集并去重的两种方法时间消耗比较 文章目录 C# List\取并集并去重的两种方法时间消耗比较 前言 一.两种方法 二.时间计算方法 1.Stopwatch 三.数据 ...

  9. 动态规划——钢筋切割问题的两种解法解析

    动态规划问题--钢筋切割问题的两种解法解析@TOC 钢筋切割问题: 对于这个问题的两种解法 先来个官方点的解法说明: 我对两种解法的个人理解 第一种解法: 这种解法就是把先钢筋分成两部分,分别记为 i ...

最新文章

  1. elasticsearch update 无结果
  2. Go笔试题目Go与PHP分别实现方法
  3. 关于SOCKET中send和recv函数工作原理总结
  4. 全新尝试|ComponentOne WinForm和.NET Core 3.0
  5. struts1起服务报错
  6. Dubbo(五)Dubbo 简单监控平台(monitor)搭建
  7. 爬虫python怎么下载_在网上下了一个 python 爬虫程序,怎么运行?
  8. bzoj 1602: [Usaco2008 Oct]牧场行走(暴力LCA)
  9. asp.net中注册脚本的两个方法
  10. ps4 6.72破解测试版+6.72固件下载+可玩游戏汇总+6.72破解教程
  11. 幼麟棋牌进入房间逻辑分析
  12. 墨尔本python培训班_墨的解释|墨的意思|汉典“墨”字的基本解释
  13. Vue实例化对象挂载到元素上的方法
  14. 总线概述及常见总线(转)
  15. 卷积神经网络的网络结构——VGGNet
  16. 助眠好物推荐,帮助睡眠最好的办法
  17. 将整个网站(包括子页)变为黑白色
  18. 微信H5支付及通知回调
  19. Golang 优化之内存对齐
  20. LinkedIn最好工具-领英精灵有哪些批量加好友方法?

热门文章

  1. 11函数的应用(函数名=变量)
  2. 货郎问题:回溯法和限界分支法
  3. 分析师分析业务维度,(个人制作分析思维导图Xmind)
  4. java 枚举类型enum
  5. java常见异常总结---自己工作中经常遇到的一些异常
  6. 消息队列之RabbitMQ
  7. Linux crontab 定时任务设置
  8. 不断学习UI框架的写法
  9. AT89C52编程开发源代码
  10. android 播放MP3实例