package hu.sieve;
import java.util.ArrayList;
import java.util.Scanner;
public class SieveMethod {
int limits;
ArrayList number = new ArrayList();
SieveMethod() {
limits = 0;
}
private void setLimits(int lim) {
limits = lim;
for (int i = 2; i <= lim; i++) {
number.add(i);
}
}
private void getPrime() {// 筛选出素数
for (int i = 0; i < number.size(); i++) {
for (int j = i + 1; j < number.size(); j++) {
if (number.get(j) % number.get(i) == 0) {
number.remove(j);
j--;
}
}
}
}
private void printPrime() {// 打印出素数
for (int i = 0; i < number.size(); i++) {
System.out.print(number.get(i) + " ");
}
}
public static void main(String[] args) {
SieveMethod prime = new SieveMethod();
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
prime.setLimits(num);
prime.getPrime();
prime.printPrime();
}
}
java筛选法求素数
最新推荐文章于 2022-08-19 14:25:01 发布