首页 > 编程语言 >找素数(java)

找素数(java)

时间:2023-02-17 12:13:48浏览次数:46  
标签:java int 质数 flag System 素数 public

什么是素数?

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

实际案例

比如我们想找出1-1000的所有素数

思路1

可以先定义一个方法 

primeNumber
//参数列表用来接收所想找的素数范围
public static int primeNumber (int begin,int end){

    int count = 0;//初始化一个元素来记录素数  //遍历所找范围
    for (int i = begin; i <=end ; i++) {
        //添加一个标记位
        boolean flag = true;//用来记录是否为素数
        for (int j = 2; j <= i /2; j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }
        if (flag == true) {
            System.out.print(i+"\t");
            count++;
        }
    }
    return count;

}
//主方法里调用
//找素数(质数)除了1和他本身以外,不能被其他整数整除,就叫素数
public static void main(String[] args) {
int i = primeNumber(100,300);
System.out.println(" ");
System.out.print("素数个数为"+i);
}
 
 

思路2

/**
* 场景:输出101~200之间的所有素数
* 1、遍历该区间内所有数据
* 2、判断该数据是否是素数
* 3、根据判定结果输出素数
*/
public class test {
public static void main(String[] args) {
        //定义循环,找到101~200之间的所有数据
for (int m = 101; m < 200; m++) {
        //设置flag = true,默认i为素数
boolean flag = true;
        //m同定义中的范围,取值为2~√(m),判断当前遍历的数据是否是素数
for (int n = 2; n <= sqrt(m); n++) {
if(m % n == 0){ //若m能被n整除,意味当前数不是素数
        //当前数不是素数,则flag的值更改为false
flag = false;
break; //跳出当前循环
}
}
        //根据flag的结果,判断m是否是素数,如果是(flag == true),则输出
if (flag){
System.out.print(m + " ");
}

}
}
}



标签:java,int,质数,flag,System,素数,public
From: https://www.cnblogs.com/yaomagician/p/17129701.html

相关文章

  • 2023-02-Java面试经历
    2022年12月中旬不幸被裁,拿N+1撤了,临近过年在家休息了一个月,元宵节之前从山西返杭的,2月7号开始投简历,谈谈最近面试的经历吧,期望能在2月底3月初左右入职吧....................
  • 1.1 Java介绍
    1.1Java介绍Java之父:詹姆斯·高斯林(JamesGosling)。Java三大平台:JavaSE:Java语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。JavaME:Java语言的(小型版......
  • 下载JDK8 用Java写了hello world
     跟着b站上狂神说Java自己学的,因为感觉他的视频有一个完整清晰的体系,然后评价很好 一.下载和安装  1.下载  百度进JavaDownloads|Oracle中国直接注册下载......
  • Java 面向对象
    一、什么是面向对象面向对象编程:OOP,Object-OrientedProgramming。本质:以类的方式组织代码,以对象的形式组织(封装)数据。抽象三大特性:封装、继承、多态二、类与......
  • Java流程控制
    流程控制用户交互Scanner(java5新特性)通过Scanner类来获取用户的输入基本语法:Scanners=newScannner(System.in);方法:next()获取输入字符串nextLine()获取......
  • Java-
    mvnpackage-DskipTests报错:[INFO]BUILDFAILURE[INFO]------------------------------------------------------------------------[INFO]Totaltime:5.311s[INF......
  • 【tomcat启动报类找不到】java.lang.NoSuchMethodError org.springframework.util.Ref
    springboot项目打成war包,放tomcat里启动报错:java.lang.NoSuchMethodErrororg.springframework.util.ReflectionUtils.accessibleConstructor(Ljava/lang/Class;[Ljava/la......
  • [javascript]端序(endian)和Buffer对象的read|write系列函数
    假设有如下对象:varbuf=Buffer.from("Hello.\n");其保存在内存当中的形式实际上是这样的,这里我们假设该对象的内存地址从0x00开始:地址0x000x010x020x030x04......
  • 2023前端开发最新面试题收集-Javascript篇
    前台、中台、后台-前台:面向用户、客户可以感知的,如商城-中台:可以看着对前台的补充,公共服务功能,如支付系统、搜索系统、客服-后台:面向运营、比如商品管理、物流管理1......
  • Java线程基础
    线程的创建Java线程可以通过实现Runnable接口、Callable接口或继承Thread类进行创建。实现Runnable接口实例可以使用Runnable接口实现多线程,Runnable接口实现类必须实现......