|
1 | 1 | import java.util.Scanner;
|
| 2 | + |
2 | 3 | public class PalindromePrime {
|
3 | 4 |
|
4 | 5 | public static void main(String[] args) { // Main funtion
|
5 | 6 | Scanner in = new Scanner(System.in);
|
6 | 7 | System.out.println("Enter the quantity of First Palindromic Primes you want");
|
7 |
| - int n = in.nextInt(); // Input of how mant first pallindromic prime we want |
8 |
| - funtioning(n); // calling funtion - functioning |
| 8 | + int n = in.nextInt(); // Input of how many first pallindromic prime we want |
| 9 | + functioning(n); // calling function - functioning |
9 | 10 | }
|
10 | 11 |
|
11 | 12 | public static boolean prime(int num) { // checking if number is prime or not
|
12 |
| - for (int divisor = 2; divisor <= num / 2; divisor++) { |
| 13 | + for (int divisor = 3; divisor <= Math.sqrt(num); divisor += 2) { |
13 | 14 | if (num % divisor == 0) {
|
14 | 15 | return false; // false if not prime
|
15 | 16 | }
|
16 | 17 | }
|
17 | 18 | return true; // True if prime
|
18 | 19 | }
|
19 | 20 |
|
20 |
| - public static int reverse(int n){ // Returns the reverse of the number |
| 21 | + public static int reverse(int n) { // Returns the reverse of the number |
21 | 22 | int reverse = 0;
|
22 |
| - while(n!=0){ |
23 |
| - reverse = reverse * 10; |
24 |
| - reverse = reverse + n%10; |
25 |
| - n = n/10; |
| 23 | + while(n != 0) { |
| 24 | + reverse *= 10; |
| 25 | + reverse += n%10; |
| 26 | + n /= 10; |
26 | 27 | }
|
27 | 28 | return reverse;
|
28 | 29 | }
|
29 | 30 |
|
30 |
| - public static void funtioning(int y){ |
31 |
| - int count =0; |
32 |
| - int num = 2; |
33 |
| - while(count < y){ |
34 |
| - if(prime(num) && num == reverse(num)){ // number is prime and it's reverse is same |
35 |
| - count++; // counts check when to terminate while loop |
36 |
| - System.out.print(num + "\n"); // Print the Palindromic Prime |
37 |
| - } |
38 |
| - num++; // inrease iterator value by one |
| 31 | + public static void functioning(int y) { |
| 32 | + if (y == 0) return; |
| 33 | + System.out.print(2 + "\n"); // print the first Palindromic Prime |
| 34 | + int count = 1; |
| 35 | + int num = 3; |
| 36 | + while(count < y) { |
| 37 | + if(num == reverse(num) && prime(num)) { // number is prime and it's reverse is same |
| 38 | + count++; // counts check when to terminate while loop |
| 39 | + System.out.print(num + "\n"); // print the Palindromic Prime |
39 | 40 | }
|
| 41 | + num += 2; // inrease iterator value by two |
| 42 | + } |
40 | 43 | }
|
41 |
| -}; |
| 44 | +} |
0 commit comments