We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
import java.io.;
import java.util.;
interface PerformOperation {
boolean check(int a);
}
class MyMath {
public static boolean checker(PerformOperation p, int num) {
return p.check(num);
}
public PerformOperation isOdd(){
PerformOperation isOddOperation = new PerformOperation(){
@Override
public boolean check(int a) {
return (a%2 != 0);
}
};
return isOddOperation;
}
public PerformOperation isPrime(){
PerformOperation isPrimeOperation = new PerformOperation(){
@Override
public boolean check(int a) {
int count = 0;
for(int i = 1 ; i <= a ; i++){
if(a%i == 0){
count++;
}
}
return (count == 2);
}
};
return isPrimeOperation;
}
public PerformOperation isPalindrome(){
PerformOperation isPalindromeOperation = new PerformOperation(){
@Override
public boolean check(int a) {
int count = 0;
int f = a;
ArrayList <Integer> arr = new ArrayList<Integer>();
while(f != 0){
arr.add(f%10);
f = f/10;
}
int n = arr.size();
int i = (n/2)-1;
for(int k = 0; k <= i ; k++){
if(arr.get(k) != arr.get(n-k-1)){
count++;
}
}
return (count == 0);
}
};
return isPalindromeOperation;
}
}
public class Solution {
public static void main(String[] args) throws IOException {
MyMath ob = new MyMath();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
PerformOperation op;
boolean ret = false;
String ans = null;
while (T--> 0) {
String s = br.readLine().trim();
StringTokenizer st = new StringTokenizer(s);
int ch = Integer.parseInt(st.nextToken());
int num = Integer.parseInt(st.nextToken());
if (ch == 1) {
op = ob.isOdd();
ret = ob.checker(op, num);
ans = (ret) ? "ODD" : "EVEN";
} else if (ch == 2) {
op = ob.isPrime();
ret = ob.checker(op, num);
ans = (ret) ? "PRIME" : "COMPOSITE";
} else if (ch == 3) {
op = ob.isPalindrome();
ret = ob.checker(op, num);
ans = (ret) ? "PALINDROME" : "NOT PALINDROME";
}
System.out.println(ans);
}
}
}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Java Lambda Expressions
You are viewing a single comment's thread. Return to all comments →
import java.io.; import java.util.; interface PerformOperation { boolean check(int a); } class MyMath { public static boolean checker(PerformOperation p, int num) { return p.check(num); } public PerformOperation isOdd(){ PerformOperation isOddOperation = new PerformOperation(){
}
public PerformOperation isPrime(){ PerformOperation isPrimeOperation = new PerformOperation(){
}
public PerformOperation isPalindrome(){ PerformOperation isPalindromeOperation = new PerformOperation(){
} } public class Solution {
public static void main(String[] args) throws IOException { MyMath ob = new MyMath(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); PerformOperation op; boolean ret = false; String ans = null; while (T--> 0) { String s = br.readLine().trim(); StringTokenizer st = new StringTokenizer(s); int ch = Integer.parseInt(st.nextToken()); int num = Integer.parseInt(st.nextToken()); if (ch == 1) { op = ob.isOdd(); ret = ob.checker(op, num); ans = (ret) ? "ODD" : "EVEN"; } else if (ch == 2) { op = ob.isPrime(); ret = ob.checker(op, num); ans = (ret) ? "PRIME" : "COMPOSITE"; } else if (ch == 3) { op = ob.isPalindrome(); ret = ob.checker(op, num); ans = (ret) ? "PALINDROME" : "NOT PALINDROME";
} System.out.println(ans); } } }