输出质数(Java)
输出质数
一、什么是质数
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数(规定1既不是质数也不是合数)。
二、代码实现
1.输出100以内的质数
import java.util.ArrayList;
import java.util.List; public class PrimeNumber
{
/*
* 1-100
* 1 3 5 7 11 13 17
* 只能被1和本身整除
*
* */
public static void main(String[] args)
{
boolean flag;
List<Integer> priArr = new ArrayList<>();
for (int i=2;i<100;i++)
{
flag=true;
for (int j=2;j<=Math.sqrt(i);j++)//Math.sqrt()方法是对i开根号
{
if (i%j==0)
{
flag=false;//如果为false说明这个数不是质数
break;
}
}
if (flag)//是质数flag就是ture
{
priArr.add(i);
}
}
for (int s:priArr)
{
System.out.print(s+“ ”);
}
}
}
2.输入需要输出多少以内的素数
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; public class PrimeNumber {
/*
* 1-100
* 1 3 5 7 11 13 17
* 只能被1和本身整除
*
* */
public static void main(String[] args)
{
System.out.println("请输入需要输出多少以内的质数:");
Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();
boolean flag;
List<Integer> priArr = new ArrayList<>();
for (int i=2;i<x;i++)
{
flag=true;
for (int j=2;j<=Math.sqrt(i);j++)//Math.sqrt()方法是对i开根号
{
if (i%j==0)
{
flag=false;//如果为false说明这个数不是质数
break;
}
}
if (flag)//是质数flag就是ture
{
priArr.add(i);
}
}
for (int s:priArr)
{
System.out.print(s+“ ”);
}
}
}
三、运行结果


四、总结
找质数主要运用了双重for循环,和用flag作为一个标识。其中外层for对需要查找的数值范围遍历,内层for对根号i以内的数值遍历,通过if判断利用flag是否变为false来判断这个数是否为质数,如果是则flag不变,为true,如果flag变为false,则这个数不是质数。
输出质数(Java)的更多相关文章
- 构建一个学生Student,根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。
定义一个表示学生信息的类Student,要求如下: (1)类Student的成员变量: sNO 表示学号: sName表示姓名: sSex表示性别: sAge表示年龄: sJava:表示Java课程成 ...
- Java连载24-break语句、continue语句、输出质数练习
一.break 1.break是Java语言中的关键字,被翻译为“中断/折断” 2.break + ";"可以成为一个单独的完整的java语句: break; 3.break语 ...
- 第15章-输入/输出 --- 理解Java的IO流
(一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...
- 算法之求质数(Java语言)
质数(Prime number) 又称素数,指在的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数). 算法原理 验证一个数字 n 是否为素数的一种简单但 ...
- 输出所有java进程的gc状态
#!/bin/sh #read -t -p "请输入jstat命令监控间隔,次数:" time count read -p "输入jstat命令监控间隔(1s输出一次,输 ...
- 用Javascript的for循环输出质数
<body> <script type="text/javascript"> for(i=2;i<=300;i++){ var prime = tru ...
- 使用递归方法,遍历输出以.java结尾的文件
package cn.itcast.demo01;import java.io.File;/** * @author newcityman * @date 2019/7/27 - 19:17 * 题目 ...
- 读取Excel列,转换为String输出(Java实现)
需要导入的jar包 具体实现 public class ColumnToString { public static void main(String[] args) { new ColumnToSt ...
- 看下面代码输出结果Java
编译错误 在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器, ...
随机推荐
- hihocoder 1631
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They are all happy ...
- js 深入原理讲解系列-事件循环
js 深入原理讲解系列-事件循环 能看懂这一题你就掌握了 js 事件循环的核心原理 不要专业的术语,说人话,讲明白! Q: 输出下面 console.log 的正确的顺序? console.log(' ...
- How to enable HTTPS for local development in macOS using Chrome
How to enable HTTPS for local development in macOS using Chrome HTTPS, macOS, Chrome local HTTPS htt ...
- TypeScript & WebAssembly
TypeScript & WebAssembly WASM (module (func (param $lhs i32) (param $rhs i32) (result i32) local ...
- Contributor License Agreement
Contributor License Agreement CLA https://cla.js.foundation/lodash/lodash?pullRequest=4756 https://g ...
- qt 注册热键
原文 将所需的库添加到您的qmake项目(.PRO文件) LIBS += \ -lUser32 2.在代码中包含所需的头文件. #include <windows.h> 在程序开始时注册热 ...
- 「NGK每日快讯」2021.1.14日NGK公链第72期官方快讯!
- NGK团队是如何打造超高回报率的BGV项目的?
NGK旨在激励网络的供给端引导去中心化的节点集群,用于促进网络使用和增加带宽流动. 具体来讲,在未来的24个月内,NGK会将部分生态参与者纳入白名单系统有兴趣的参与者可关注官方信息. 对内,NGK采用 ...
- std::unordered_map与std::map
前者查找更快.后者自动排序,并可指定排序方式. 资料参考: https://blog.csdn.net/photon222/article/details/102947597
- JS相关基础
1. ES5和ES6继承方式区别 ES5定义类以函数形式, 以prototype来实现继承 ES6以class形式定义类, 以extend形式继承 2. Generator了解 ES6 提供的一种异步 ...