UVA10235




Sample Input

17
18
19
179
199

Sample Output

17 is emirp.
18 is not prime.
19 is prime.
179 is emirp.
199 is emirp.


解法:埃拉托斯特尼篩法


import java.util.Scanner;

public class UVA10235 {

 public static int matrix[] = new int[1000000];

 public static void main(String[] args) {

  Scanner sc = new Scanner(System.in);

  StringBuilder sb = new StringBuilder();


  matrix[0] = 1;
  matrix[1] = 1;

  for (int i = 2; i < 1000000; i++) {

   if (matrix[i] == 0)
    for (int j = 2 * i; j < 1000000; j += i) {
     matrix[j] = 1;
    }

  }
  while (sc.hasNext()) {

   int num = sc.nextInt();

   String temp = Integer.toString(num);
   String t_num = "";
   int number = 0;

   for (int i = temp.length() - 1; i >= 0; i--)
    t_num += temp.charAt(i);

   number = Integer.parseInt(t_num);

   if (matrix[num] == 1)
    sb.append(num + " is not prime." + "\n");

   else if (matrix[number] == 0 && number != num)
    sb.append(num + " is emirp." + "\n");

   else
    sb.append(num + " is prime." + "\n");

  }

  System.out.print(sb);

  sc.close();
 }

}