输出100内所有质数
输出100内所有质数
质数:素数,只能被1和他本身整除的自然数。
方法一
class Test {public static void main(String[] args) { boolean isFlag = true;//标识i是否被j除尽,一旦除尽,重新定义其值 for(int i = 2;i <= 100;i++){//遍历100以内的自然数 for(int j = 2;j < i;j++){//j:被i除去if(i % j == 0){isFlag = false;}}if(isFlag == true){System.out.println(i);}//对isFlag重置isFlag = true;}}
}
对方法一进行优化
class Test {public static void main(String[] args) {boolean isFlag = true;//标识i是否被j除尽,一旦除尽,修改其值int count = 0;//记录质数的个数//获取当前时间距离1970-01-01 00:00:00 的毫秒数long start = System.currentTimeMillis();for(int i = 2;i <= 100000;i++){//遍历100000以内的自然数//优化二:对本身是质数的自然数是有效的。//原先的for(int j = 2;j < i;j++){//j:被i去除//优化后for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除,调用math中的一个2方法。if(i % j == 0){ //i被j除尽isFlag = false;break;//优化一:只对本身非质数的自然数是有效的。}}//if(isFlag == true){//System.out.println(i);count++;} //重置isFlagisFlag = true;}//获取当前时间距离1970-01-01 00:00:00 的毫秒数long end = System.currentTimeMillis();System.out.println("质数的个数为:" + count);System.out.println("所花费的时间为:" + (end - start));//17110 - 优化一:break:1546 - 优化二:13}
}
方法二
class Test {public static void main(String[] args) { for(int i = 2;i <= 100;i++){//遍历100以内数 boolean isFlag = true;//标识i是否被j除尽,一旦除尽,重新定义其值 for(int j = 2;j < i;j++){//j:被i除去if(i % j == 0){isFlag = false;}}if(isFlag == true){System.out.println(i);}}}
}
方法三(直接在方法一优化的基础上修改)
class Test {public static void main(String[] args) {int count = 0;//记录质数的个数//获取当前时间距离1970-01-01 00:00:00 的毫秒数long start = System.currentTimeMillis();label:for(int i = 2;i <= 100000;i++){//遍历100000以内的自然数for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除,调用math中的一个方法,开根号。if(i % j == 0){ //i被j除尽continue label;//如果发现直接被除尽,重新回到label,}}//能执行到此步骤的都是质数count++;}//获取当前时间距离1970-01-01 00:00:00 的毫秒数long end = System.currentTimeMillis();System.out.println("质数的个数为:" + count);System.out.println("所花费的时间为:" + (end - start));//17110 - 优化一:break:1546 - 优化二:13}
}
输出100内所有质数相关推荐
- 用Java输出100内的质数和合数(包含100)
目录 前言: 1.用Java输出100内的质数 2.用Java输出100内的合数 补充一下: 前言: 质数的概念:除了1和它本身以外不再有其它的因数,这个数就是质数. 合数的概念:除了1和它本身以外还 ...
- 判断素数、输出100内素数 C语言初学
素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如13就是素数,因为它不能被 2~12 的任一整数整除. 判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每 ...
- Linux质数合数的脚本,python输出100以内的质数与合数实例代码
python输出100以内的质数与合数实例代码 具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for ...
- python100以内自然数之和_python输出100以内的质数与合数实例代码
具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...
- python中求合数_python输出100以内的质数与合数实例代码
具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...
- 输出100内所含5或5的倍数的值(Python)
输出100内所含5或5的倍数的值 import math i = 1 for j in range(1,101):if j % 5 ==0:print(j)i+=1
- python输出1到100之间的合数_python输出100以内的质数与合数实例代码
具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...
- 100以内质数和用c语言程序,用C语言编程 100内的质数之和
用C语言编程 100内的质数之和 來源:互聯網 2010-01-23 17:33:00 評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 希望C语言 ...
- Java输出100以内的质数(及其代码优化详程)
文章目录 Java输出100以内的质数 重点:<代码的优化> P1:currenttimemillis方法计算运行时间 p2:优化一(针对非质数) p3:Java 中 Math.sqrt( ...
最新文章
- 「最小细胞」的3D数字模型,计算揭示生命最基本的要求
- HTML5 Canvas动画效果实现原理
- 【学术相关】研究生通常都有怎样的作息时间呢?
- boost::log模块测试检查插入不会使容器中的现有元素无效
- Web开发模式【Mode I 和Mode II的介绍、应用案例】
- gateway请求拦截_spring cloud gateway 拦截request Body
- 你的域名是如何变成 IP 地址的?
- 机器学习实战6-sklearn训练决策树实现分类和回归
- USB2.0学习笔记连载(一):CY7C68013特性简介
- 李航教授展望自然语言对话领域:现状与未来
- toj 4069 简易统计
- Google Chrome抓包分析详解
- U盘被写保护不能重新格式化
- 专升本英语固定词组搭配500个
- 有效提排名!2022 年最全App应用市场优化(ASO)策略
- Django新手入门(五)——Models详解
- 浏览器网页 自动转格式化显示json数据
- 旋转正方体加径向渐变
- Linux部署docker容器(使用root用户登录)
- Word控件Spire.Doc 【段落处理】教程(十二):如何在 C# 中管理 word 文档的分页