求解素数-埃氏筛选

ops/2024/10/20 18:54:07/

什么是素数了?就是除了0和1之外,一个数只能由1和它本身相乘得来,这就是素数
第一种暴力求解:

java">package com.fan.suanfati;import java.util.Scanner;public class SuShu {public static void main(String[] args) {System.out.println("请输入数字,以便求出该数字内的素数");Scanner scanner = new Scanner(System.in);int a = scanner.nextInt();int bl = bl(a);System.out.println(bl);}public  static  int  bl(int  n){int  count=0;for (int i =2 ;  i<n ; i++) {count+=isPrime(i)?  1 : 0;}return count;}//i*i其利用根号,对其进行了优化,但是注意要有等号public  static    boolean    isPrime(int f){for (int i = 2; i*i <= f;i++) {if (f%i==0){return  false;}}return  true;}
}

第二种:
埃氏筛选:
怎么理解了?就是一个数是素数,那么这个数乘以2,3,4一直下去,其都是合数,那么就可以进行排除了,这就是埃氏筛选
代码:

java">package com.fan.suanfati;
//埃式筛选:就素数乘以2   *3  一直乘都是合数,剩下的就是素数
public class suShu1 {public static void main(String[] args) {int i = aiShi(100);System.out.println(i);}public  static   int   aiShi(int  n){boolean[] booleans = new boolean[n];  //默认false表示素数int   count=0;for (int i = 2; i <n; i++) {if (!booleans[i]){count++;//其一般是j=2*i,但是优化师i*i,因为重复了for (int  j=i*i;j<n; j+=i){booleans[j]=true;}}}return   count;}
}

http://www.ppmy.cn/ops/22157.html

相关文章

Django初步了解

目录 一、什么是Django 二、Django的设计模式 三、涉及的英文缩写及其含义 四、安装&#xff08;官方教程&#xff09; 一、什么是Django Django是一个Python Web框架&#xff0c;可以快速开发网站&#xff0c;提供一站式的解决方案&#xff0c;包括缓存、数据库ORM、后台…

Memory augment is All You Need for image restoration 论文翻译

目录 一.介绍 二.实际工作 A.图像阴影去除 B.图像去雨 C.存储模块的开发 三.网络结构 A.内存扩充 B.损失函数设计 四.实验 A.与最先进方法的比较 B.MemoryNet消融研究 五.结论 CVPR2023 MemoryNet 记忆增强是图像恢复所需要的一切 论文地址https://arxiv.org/abs/…

材质系统:关于PBR(Physically Based Rendering)需要知道的一些事

目录 前言 1. 什么是PBR&#xff1f; 2. 为什么PBR在近期开始流行 3. PBR材质与其他渲染器中材质&#xff08;如Vray材质、Enscape中的材质&#xff09;的区别是什么&#xff1f; 4. 为什么Vray之类的渲染器从一开始没有使用PBR材质系统&#xff1f; 前言 本文内容基于对图…

json.loads()与json.dumps()区别

1、json.loads() 序列化&#xff0c;将JSON字符串&#xff0c;转换为Python的数据结构&#xff0c;如字典。 2、json.dumps() 反序列化&#xff0c;将Python的数据结构&#xff0c;转换成JSON字符串。

Flink DataStream API 批处理能力演进之路

摘要&#xff1a;本文由阿里云 Flink 团队郭伟杰老师撰写&#xff0c;旨在向 Flink Batch 社区用户介绍 Flink DataStream API 批处理能力的演进之路。内容主要分为以下三个部分&#xff1a; 1. 批处理语义和性能优化 2. Batch API 功能增强 3. 总结 最近在和一个朋友闲聊时&am…

使用c++类模板和迭代器进行List模拟实现

List 一、创建节点结构二、创建迭代器类1、类的结构2、一系列的运算符重载 三、创建list1、细节把握2、迭代器函数3、构造函数和析构函数4、增删查改的成员函数 一、创建节点结构 template <class T>//节点结构 struct ListNode {ListNode<T>* _next;ListNode<…

Spring响应式高并发编程

这里写目录标题 JDK基础Lambda表达式双冒号语法函数式接口 StreamApi流式处理创建流对象中间操作filter 并行流终结操作收集操作 阻塞式编程和响应式编程JUCflow 响应式流Flux流Mono流事件回调 缓冲区限流操作手动产生流自定义处理器多线程的协作与调度 JDK基础 响应式编程将大…

微软开源了 MS-DOS 4.00

DOS的历史源远流长&#xff0c;很多现在的年轻人不知道DOS了。其实早期的windows可以看做是基于DOS的窗口界面的模拟器&#xff0c;系统的本质其实是DOS。后来DOS的漏洞还是太多了&#xff0c;微软重新写了windows的底层内核。DOS只是一个辅助终端的形式予以保留了。 微软是在…