找素数(java)
2024-10-21 09:58:44
什么是素数?
质数又称素数。一个大于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 + " ");
}
}
}
}
最新文章
- Membership三步曲之进阶篇 - 深入剖析Provider Model
- CentOS On VirtualBox
- android项目中配置NDK自动编译生成so文件
- POJ1364 King-差分
- nginx负载均衡器处理session共享的几种方法(转)
- c++学习笔记2--constexpr,类型别名,auto
- iOS开发之APP推送设置WIFI
- js 数组 转
- 【freemaker】之自定义变量,特殊变量 globals ,循环对象取值
- Something wrong with FTK OCR
- iOS中__block 关键字的底层实现原理
- Mysql 库、表、字段 字符集
- VFL语言使用
- iOS设置圆角的方法及指定圆角的位置
- Java 集合详解
- Oracle 12c RAC 静默安装文档
- Uncaught ReferenceError: layer is not defined
- .Net架构篇:实用中小型公司支付中心设计
- 洛谷P1477 假面舞会
- TCP连接的TIME_WAIT和CLOSE_WAIT 状态解说【转】
热门文章
- 【大数据面试】Flink 02 基本操作:入门案例、Env、Source、Transform、数据类型、UDF、Sink
- 1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆级的java大数据学习资料
- static_cast和dynamic_cast
- Qt网络编程-书接上文,浅谈TCP文件收发,以及心跳包
- PL/SQL Developer使用中文条件查询时无数据的解决方法
- 用Python来写个小型购物车程序
- Jmeter之非GUI下执行脚本
- js逆向到加密解密入口的多种方法
- vue3+TS 自定义指令:长按触发绑定的函数
- WCH网络授时芯片CH9126操作指导