我如何使用蛮力(朴素算法)检查一个 16 位长整数是否为素数并打印它之前的所有素数。号码示例:1254786951475276。这是我的代码:
import java.io.*;
public class PrimeNumbers {
public static boolean checkPrime(long n)
{
if (n % 2 == 0)
return false;
for (int i = 3; i <= Math.sqrt(n); i += 2)
{
if (n % i == 0)
return false;
}
return true;
}
public static void generatePrimeNumbers(long n) {
for (int i = 2; i<= n-1 ; i++) {
if (checkPrime(i)) {
System.out.println(i);
}
}
}
public static void main(String args[]) throws Exception{
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
long n = 0;
n = Integer.parseInt(br.readLine());
generatePrimeNumbers(n);
}
}