JAVA打印300以内的质数

package JAVA_Project_01_04;//创建一个包
//具体做法是:先把N个自然数按次序排列起来。1不是质数也不是合数,要划去。第二个数2是质数留下来,
//而把2后面的所有能被2整除的数都划去。2后面第一个没被划去的数是3,把3留下
//再把3后面所有能被3整除的数都划去。3后面第一个没被划去的是5,再把5后面所有能被5整除的数都划去。
//这样一直下去,就会把不超过N的全部荷属都帅选掉,留下的就是不超过N的全部质数
import java.util.Arrays;//导入类public class TextPrimeNumber {//操作求指定范围内的质数的类private static boolean[] filterNumber(int num) {//帅选法求质数if (num <= 0) {//判断指定的范围System.out.println("范围必须大于0");return null;}boolean[] isPrime = new boolean[num + 1];//声明布尔类型数组,长度为范围+1//数组标注是否为质数,下标值为质数,那么对应数组元素值为true//例如2是质数,isPrime[2]=trueisPrime[1] = false;//1不是质数Arrays.fill(isPrime, 2, num + 1, true);//将布尔数组元素的值为trueint n = (int) Math.sqrt(num);//Math.sqrt方法用于求开方for (int i = 1; i < n; i++) {if (isPrime[i]) {//如果是质数,那么i的倍数不是质数for (int j = 2 * i; j <= num; j += i) {isPrime[j] = false;}}}return isPrime;}public static void showAppointArea(int number){//显示指定范围内的质数boolean[] primes= filterNumber(number);//调用方法赋值给布尔类型的数组int num=0;if (primes!=null){for (int i=1;i<primes.length;i++){//循环数组操作数组的元素if (primes[i]){//如果数组元素值为true,则下标值为质数System.out.println(i+"");//输出质数if (++num%10==0)//每输出10个质数换行System.out.println();}}System.out.println();}System.out.println("一共有"+num+"个");}public static void main(String[] args) {//Java程序主入口处int number=300;//声明范围System.out.println("范围在"+number+"内的质数有:");showAppointArea(number);//调用方法显示质数}
}
/*(1)filter Number()方法使用帅选法求传入参数值范围内的所有的质数。声明一个布尔类型的数组,
数组元素值为true时,表示该元素的下标为质数。如果number是一个质数,那么number的位数都不是质数,
利用Array.fill()方法初始化布尔类型数组,然后利用循环将数组下标为number的倍数的元素值设置为false。
这样就能判断那部分元素是质数了
(2)showAppointArea()方法调用FilterNumber()方法,得到布尔类型数组,将值为true的元素的下标在控制台输出。*/

JAVA打印300以内的质数相关推荐

  1. java 打印100以内的质数

    题目 质数:只能被1和它本身所整除的数.即:从2开始一直到这个数-1,都不能被这个数整除:最小的质数是2 知识点 1.System.currentTimeMillis():计算当前时间距离1970-1 ...

  2. java求n以内的质数

    java求n以内的质数 思想 素数即除了1和它本身以外不再有其他因数,最小的素数是2 方法:将n分别与2到(n+1)/2取余,若有一个值为0,则n就不为素数,反之为素数 //打印n以内的质数 // 素 ...

  3. Java输出100以内的质数(及其代码优化详程)

    文章目录 Java输出100以内的质数 重点:<代码的优化> P1:currenttimemillis方法计算运行时间 p2:优化一(针对非质数) p3:Java 中 Math.sqrt( ...

  4. python打印100以内的素数_如何用python打印100以内的质数?

    在计算机使用的过程中,计算是必不可少的.编程中含有大量的数学计算,可以帮助我们解决实际难操作的问题.有的时候我们会忘记质数是什么,之前小编向大家介绍过在python中判断质数的方法(判断数字是否为质数 ...

  5. python打印100以内质数_怎么用python打印100以内的质数

    怎么用python打印100以内的质数 发布时间:2020-12-10 13:41:15 来源:亿速云 阅读:101 作者:小新 这篇文章将为大家详细讲解有关怎么用python打印100以内的质数,小 ...

  6. 打印100以内的质数

    /*** 打印100以内的所有质数* 质数:只能被1和他只身整除的数*/boolean flag = true ; //true为质数,false不是质数for(int i=1;i<=100;i ...

  7. Java——打印N以内的素数

    Description 编写程序打印出N以内的素数,输出的素数之间用","(英文半角的逗号)分割. Input 输入一个整数N,确定筛选的范围. Output 输出筛选范围内的所有 ...

  8. 【学习笔记】打印1-100以内的质数优化

    public static void main(String[] args) {//定义一个标识boolean isflag = true;for (int i = 2;i <= 100;i++ ...

  9. Java 求100以内的质数

    public class TestPrime{public static void main(String[] args){boolean f=true;for(int i=2;i<99;i++ ...

最新文章

  1. findler mac 隐藏文件_Fiddler使用文档
  2. oracle 9I 存储过程复制,使用ADO.NET访问Oracle 9i存储过程(上)_oracle
  3. win7 linux 共享文件夹权限设置,samba 配置共享 win7 无权限访问
  4. 如何快速开发一个 Dubbo 应用?(含沙龙报名)
  5. 兄弟连学python——MongoDB相关
  6. JS(JQEERY) 获取JSON对象中的KEY VALUE
  7. android中心类库
  8. 面试官:谈谈数据库连接池的原理
  9. mysql测试题汇总_总结:SQL练习【SQL经典练习题】
  10. 小网站架构优化-提升抗并发能力:子应用程序分离方案
  11. Python中的字符串定义
  12. 利用 Webpack 实现小程序多项目管理
  13. Archlinux 试用
  14. linux输入字符串到文件,[Linux文件]将用户输入的字符串写入文件实例
  15. WebRTC之gn与ninja(十三)
  16. 聊聊职场中的学历问题
  17. python利用经纬度画地图_使用Python实现画一个中国地图
  18. wps文字表格制作拼音田字格模板_用wps表格快速制作拼音田字格的方法_wps office...
  19. 卡尔曼滤波器工作原理
  20. 工欲善其事,必先利器—Regex正则表达式工具

热门文章

  1. 天津市雏鹰企业认定奖励及申报标准介绍,补贴5万
  2. android 如何查询电话当中的联系人,并查询出联系次数
  3. git免密pull指定ssh密钥文件
  4. [windows]VS2015配置Lemon图论算法库
  5. 【蓝桥杯单片机组实战】2、高级计算器
  6. Office 2021:让人耳目一新
  7. 安卓11:android studio出现:Executing tasks: [:app:assembleDebug] in project D:\Android studio\New start
  8. Android 动画之一 Drawable Animation —— 逐帧(Frame)动画
  9. vue3在控制台打印相关变量的值
  10. 安卓4.4.4安装哪个微信版本_微信自动更新在哪里 简单几步轻松关闭微信自动更新方法...