Java 如何使素性检验接受大数
我有一个用于素性测试的代码,它可以接受多达10位的整数,但我想扩展它,使代码可以接受200位以上的整数。我应该在代码中切换什么Java 如何使素性检验接受大数,java,primality-test,Java,Primality Test,我有一个用于素性测试的代码,它可以接受多达10位的整数,但我想扩展它,使代码可以接受200位以上的整数。我应该在代码中切换什么 import java.util.*; import java.math.*; class CheckPrimeTest { static boolean checkPrime(long n) { // Corner case if (n <= 1) return false; /
import java.util.*;
import java.math.*;
class CheckPrimeTest {
static boolean checkPrime(long n)
{
// Corner case
if (n <= 1) return false;
// Check from 2 to n-1
for (int i = 2; i < n; i++)
if (n % i == 0)
return false;
return true;
}
// Driver Program
public static void main(String args[])
throws java.lang.Exception
{
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer: ");
long n = input.nextInt();
System.out.println(checkPrime(n));
}
}
如果您的数字太大,无法使用整数和长整数,则必须使用已为您定义isProbablePrime方法的整数和长整数:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigInteger integer = new BigInteger(scanner.nextLine());
System.out.println(integer.isProbablePrime(1));
}
可能重复的