首页IT科技用筛法求之N内的素数C语言(用筛法求之N内的素数。(Java))

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

时间2025-05-01 16:54:40分类IT科技浏览3703
导读:解题思路:...

解题思路:

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

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

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

在循环中把不是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; } } } } } } 用筛法求素数大体思路:

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
网线超五类和超六类有啥区别(网线分超五类、超六类、超七类都是什么意思呀?) 中文的顿号在键盘怎么打出来(顿号在键盘上输入教程)