Java_质数_两种解法(时间对比)
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_质数_两种解法(时间对比)相关推荐
- 牛客--追债之旅 两种解法
文章目录 第一种 第二种: 一共两种解法,所以即便你不会最短路,也可以做,甚至爆搜+剪枝的时间和空间消耗小于最短路做法. 第一种 题意: 小明现在要追讨一笔债务,已知有n座城市,每个城市都有编号,城市 ...
- usaco Ordered Fractions 顺序的分数(两种解法)
这题很好玩,这里有两种解法. 第一种我自己写的,先找到所有的既约真分数,然后写了一个cmp函数进行排序最后输出.我写的时候还在想这章不是搜索吗这跟搜索关系不大吧,难道是怕我们思维定式化故意出的题不是搜 ...
- 约瑟夫环问题的两种解法(详解)
约瑟夫环问题的两种解法(详解) 题目: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓.于是决定了自杀方式,41个人排成一个圆 ...
- leetcode 73 矩阵置零 C++ 两种解法
leetcode 73 两种解法~~,没有一个是我想出来的,哈哈~~ one class Solution {public:void setZeroes(vector<vector<int ...
- 北林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 ...
- 洛谷——P1597 语句解析(两种解法)
P1597 语句解析(两种解法) 题目背景 木有背景-- 题目描述 一串长度不超过 255 的 PASCAL 语言代码,只有 a,b,c 3 个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变 ...
- 整数拆分的两种解法(已完成)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 整数拆分 ...
- 【知识学习】C# List<T>取并集并去重的两种方法时间消耗比较
C# List<T>取并集并去重的两种方法时间消耗比较 文章目录 C# List\取并集并去重的两种方法时间消耗比较 前言 一.两种方法 二.时间计算方法 1.Stopwatch 三.数据 ...
- 动态规划——钢筋切割问题的两种解法解析
动态规划问题--钢筋切割问题的两种解法解析@TOC 钢筋切割问题: 对于这个问题的两种解法 先来个官方点的解法说明: 我对两种解法的个人理解 第一种解法: 这种解法就是把先钢筋分成两部分,分别记为 i ...
最新文章
- elasticsearch update 无结果
- Go笔试题目Go与PHP分别实现方法
- 关于SOCKET中send和recv函数工作原理总结
- 全新尝试|ComponentOne WinForm和.NET Core 3.0
- struts1起服务报错
- Dubbo(五)Dubbo 简单监控平台(monitor)搭建
- 爬虫python怎么下载_在网上下了一个 python 爬虫程序,怎么运行?
- bzoj 1602: [Usaco2008 Oct]牧场行走(暴力LCA)
- asp.net中注册脚本的两个方法
- ps4 6.72破解测试版+6.72固件下载+可玩游戏汇总+6.72破解教程
- 幼麟棋牌进入房间逻辑分析
- 墨尔本python培训班_墨的解释|墨的意思|汉典“墨”字的基本解释
- Vue实例化对象挂载到元素上的方法
- 总线概述及常见总线(转)
- 卷积神经网络的网络结构——VGGNet
- 助眠好物推荐,帮助睡眠最好的办法
- 将整个网站(包括子页)变为黑白色
- 微信H5支付及通知回调
- Golang 优化之内存对齐
- LinkedIn最好工具-领英精灵有哪些批量加好友方法?