首页 > 编程语言 >用筛法求之N内的素数。(Java)

用筛法求之N内的素数。(Java)

时间:2023-01-02 18:00:20浏览次数:41  
标签:Java 筛法 nums int 素数 num public

解题思路:

  1. 申请一个数组,从1-N初始化

  2. 从第二个数开始,(2是素数),并且用循环把该数的倍数的数置为0

  3. 然后访问下一个不是1的数(一定为素数),重复上面一个步骤

  4. 在循环中把不是0的数输出

import java.util.*;

//用筛法求之N内的素数。
public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int N = scanner.nextInt();
		FindP(N);
	}
	
	public static void FindP(int num) {
		int[] nums = new int[num];
		//将num到1的值赋给数组
		for(int i = 1; i < num; i++) {
			nums[i] = i + 1;
		}
		
//		从第二个数开始,(2是素数),并且用循环把该数的倍数的数置为0
//		然后访问下一个不是0的数(一定为素数),重复上面一个步骤
		for(int i = 1; i < num; i++) {
			if(nums[i] != 0) {
				System.out.println(nums[i]);//输出这个非0的数(这一定是素数)
				//将该素数的倍数赋值为0
				for(int j = i+1; j< num; j++) {
					if(nums[j]%nums[i] == 0) {
						nums[j] = 0;
					}
				}
			}
		}
		
	}
}
  • 用筛法求素数大体思路:

标签:Java,筛法,nums,int,素数,num,public
From: https://www.cnblogs.com/zh-Note/p/17020291.html

相关文章

  • JavaScript 函数-函数概念,使用,函数参数,返回值,arguments的使用,函数的申明方式
    JavaScript函数目录JavaScript函数1.函数的概念2.函数的使用2.1声明函数2.2调用函数2.3函数的封装3.函数的参数3.1形参和实参3.2函数参数的传递过程3.3函数形......
  • JAVA定时调度框架Quartz使用案例
    背景:             近期项目中遇到跨区调拨商品的需求,比如A区和B区,需要判断A区或者B区某种sku是否需要从对方库调拨商品来补充货源,避免因缺失商品而出现订单......
  • 数字三角形 —— java蓝桥杯(简单)
    题目描述上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每......
  • 大学生入门到精通JAVA系列(一)大学生在哪里写技术博客
    简书知乎专栏GithubPage当然也可以自己建站。 以上是我知道并且大部分写过的博客地址,今天先在这列一下,后续补充完善下各自优缺点。如果有感觉不错的技术博客可以在评论留......
  • java课程加分
      TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRuss......
  • 第2章:Java语言概述
    软件开发介绍软件概念:软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件(操作系统)和应用软件(应用程序)之分。人机交互方式:a、图形化界面(GraphicalUser......
  • 【Java】垃圾回收机制
    原文链接:https://blog.csdn.net/qq_40479372/article/details/126743899 Java垃圾回收机制垃圾回收(GC,GarbageCollection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在......
  • JavaScript 数组-概念,创建数组,遍历数组,新增元素
    JavaScript数组-概念,创建数组,遍历数组,新增元素目录JavaScript数组-概念,创建数组,遍历数组,新增元素1.数组的概念2.创建数组2.1数组的创建方式2.2利用new创建数组2.......
  • 狂神说Java(零基础) Java入门笔记
    1.Java帝国的诞生​1972年C诞生,比1995年诞生的Java早了20多年。C贴近硬件,运行极快,效率极高,用于操作系统、编译器、数据库、网络系统等,但是在指针和内存管理方面,常常让程序......
  • JavaScript原型与原型链
    面向对象在讲原型之前必须要将js与面向对象与之区分,之前我一直用面向对象的思想在往js上套,所以导致很多东西绞尽脑汁都没想明白,听人一句劝少走点弯路吧!......