2019-05-09 19:32:54 +08:00
|
|
|
package Misc;
|
|
|
|
|
2017-10-04 02:52:54 +08:00
|
|
|
import java.util.Scanner;
|
2019-02-03 13:50:02 +08:00
|
|
|
|
2017-10-04 02:52:54 +08:00
|
|
|
public class PalindromePrime {
|
|
|
|
|
|
|
|
public static void main(String[] args) { // Main funtion
|
|
|
|
Scanner in = new Scanner(System.in);
|
|
|
|
System.out.println("Enter the quantity of First Palindromic Primes you want");
|
2019-02-03 13:50:02 +08:00
|
|
|
int n = in.nextInt(); // Input of how many first pallindromic prime we want
|
|
|
|
functioning(n); // calling function - functioning
|
2020-01-29 00:34:52 +08:00
|
|
|
in.close();
|
2017-10-04 02:52:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
public static boolean prime(int num) { // checking if number is prime or not
|
2019-02-03 13:50:02 +08:00
|
|
|
for (int divisor = 3; divisor <= Math.sqrt(num); divisor += 2) {
|
2017-10-04 02:52:54 +08:00
|
|
|
if (num % divisor == 0) {
|
|
|
|
return false; // false if not prime
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true; // True if prime
|
|
|
|
}
|
|
|
|
|
2019-02-03 13:50:02 +08:00
|
|
|
public static int reverse(int n) { // Returns the reverse of the number
|
2017-10-04 02:52:54 +08:00
|
|
|
int reverse = 0;
|
2019-05-09 19:32:54 +08:00
|
|
|
while (n != 0) {
|
2019-02-03 13:50:02 +08:00
|
|
|
reverse *= 10;
|
2019-05-09 19:32:54 +08:00
|
|
|
reverse += n % 10;
|
2019-02-03 13:50:02 +08:00
|
|
|
n /= 10;
|
2017-10-04 02:52:54 +08:00
|
|
|
}
|
|
|
|
return reverse;
|
|
|
|
}
|
|
|
|
|
2019-02-03 13:50:02 +08:00
|
|
|
public static void functioning(int y) {
|
|
|
|
if (y == 0) return;
|
|
|
|
System.out.print(2 + "\n"); // print the first Palindromic Prime
|
|
|
|
int count = 1;
|
|
|
|
int num = 3;
|
2019-05-09 19:32:54 +08:00
|
|
|
while (count < y) {
|
|
|
|
if (num == reverse(num) && prime(num)) { // number is prime and it's reverse is same
|
2019-02-03 13:50:02 +08:00
|
|
|
count++; // counts check when to terminate while loop
|
|
|
|
System.out.print(num + "\n"); // print the Palindromic Prime
|
2017-10-04 02:52:54 +08:00
|
|
|
}
|
2019-02-03 13:50:02 +08:00
|
|
|
num += 2; // inrease iterator value by two
|
|
|
|
}
|
2017-10-04 02:52:54 +08:00
|
|
|
}
|
2019-02-03 13:50:02 +08:00
|
|
|
}
|