Как сделать тест на примитивность принимать большие числа - PullRequest
0 голосов
/ 22 октября 2019

У меня есть код для теста простоты, который принимает целые числа до 10 цифр, но я хочу расширить его так, чтобы код принимал более 200 цифр. Что я должен включить в коде?

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)); 

    } 
} 

1 Ответ

1 голос
/ 22 октября 2019

Если у вас есть такие большие числа, которые вы не можете использовать int s и long s, вам придется использовать BigInteger, который уже определяет для вас 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));
}
...