Problem Link : http://www.codechef.com/problems/PRPALIN
Solution :
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
/**
*
* @author XCoder
*/
class PrimePalindromes {
private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static PrintWriter pw = new PrintWriter(System.out);
public static int readIntLine() throws IOException {
return Integer.parseInt(br.readLine());
}
static int primes[] = {1,2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929, 10301, 10501, 10601, 11311, 11411, 12421, 12721, 12821, 13331, 13831, 13931, 14341, 14741, 15451, 15551, 16061, 16361, 16561, 16661, 17471, 17971, 18181, 18481, 19391, 19891, 19991, 30103, 30203, 30403, 30703, 30803, 31013, 31513, 32323, 32423, 33533, 34543, 34843, 35053, 35153, 35353, 35753, 36263, 36563, 37273, 37573, 38083, 38183, 38783, 39293, 70207, 70507, 70607, 71317, 71917, 72227, 72727, 73037, 73237, 73637, 74047, 74747, 75557, 76367, 76667, 77377, 77477, 77977, 78487, 78787, 78887, 79397, 79697, 79997, 90709, 91019, 93139, 93239, 93739, 94049, 94349, 94649, 94849, 94949, 95959, 96269, 96469, 96769, 97379, 97579, 97879, 98389, 98689,1003001};
public static void main(String[] args) throws IOException {
int number = readIntLine();
int i = 0;
for (i = 0; i < primes.length; i++) {
if (number < primes[i]) {
break;
}
}
if (i > 0) {
i--;
}
if (primes[i] == number) {
pw.println(number);
} else {
pw.println(primes[i + 1]);
}
pw.flush();
pw.close();
}
public static int BinarySearch(int p, int q, int search, int arr[]) {
int mid = (p + q) / 2;
while (p != q && arr[mid] != search) {
mid = (p + q) / 2;
if (search > arr[mid]) {
p = mid + 1;
} else {
q = mid;
}
}
return mid + 1; //returning index where element found/available if present
}
}
No comments:
Post a Comment