Skip to main content

Closet Palindrome

Given a number N. our task is to find the closest Palindrome number whose absolute difference with given number is minimum.

Note:  If the difference of two closest palindromes numbers is equal then we print smaller number as output.


Input :
9
489
output:
9
484
Explanation :

Test Case 1: closest palindrome number is 9 itself .

//JAVA CODE
import java.util.Scanner;
public class Main {
    static int reversenumber(int n){
        int temp;int rev=0;
        while(n!=0){
            temp=n%10;
            rev=rev*10+temp;
            n/=10;
        }
        return rev;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int increase=0;int decrease=0;
        System.out.print("type the number :");
            int n=sc.nextInt();
        System.out.println();
            // increase            int temp=n;
            while(true){
                if(reversenumber(temp)==temp){
                    //increase++;                    break;
                }
                else{
                    temp++;
                    increase++;
                }
            }
            //decrease            temp=n;
            while(true) {
                if (reversenumber(temp) == temp) {
                    break;
                } else {
                    temp--;
                    decrease++;
                }
            }
        if(increase<decrease)
            System.out.print(n+increase);
        else            System.out.print(n-decrease);
    }
}

Comments

Popular posts from this blog

zoho taxi question (3rd Round)

Taxi application Design a Call taxi booking application -There are n number of taxi’s. For simplicity, assume 4. But it should work for any number of taxi’s. -The are 6 points(A,B,C,D,E,F) -All the points are in a straight line, and each point is 15kms away from the adjacent points. -It takes 60 mins to travel from one point to another -Each taxi charges Rs.100 minimum for the first 5 kilometers and Rs.10 for the subsequent kilometers. -For simplicity, time can be entered as absolute time. Eg: 9hrs, 15hrs etc. -All taxi’s are initially stationed at A. -When a customer books a Taxi, a free taxi at that point is allocated -If no free taxi is available at that point, a free taxi at the nearest point is allocated. -If two taxi’s are free at the same point, one with lower earning is allocated -Note that the taxi only charges the customer from the pickup point to the drop point. Not the distance it travels from an adjacent point to pickup the customer. -If no taxi is free a...

Inser 0 after Consecutive (K times) Of 1 is Found

Example: Input: Number of bits: 12 Bits: 1 0 1 1 0 1 1 0 1 1 1 1 Consecutive K: 2 Output: 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 //JAVA CODE import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc= new Scanner(System. in ); int n = sc.nextInt(); int k=sc.nextInt(); int []a = new int [n]; int temp= 0 ; //Inputs for ( int i= 0 ;i<n;i++) a[i]=sc.nextInt(); //print for ( int i= 0 ;i<n;i++){ System. out .print(a[i]+ " " ); if (a[i]== 1 ){ temp++; if (temp==k) { System. out .print( "0 " ); temp= 0 ; } } else temp= 0 ; } } }

QUESTION You’re given an even number n. If n=4, you have to print the following pattern : 4444 4334 4334 4444 If n=6, then the pattern should be like this : 666666 655556 654456 654456 655556 666666

// JAVA CODE import java.util.*; import java.lang.*; import java.io.*; class zohoquestion{     public static void main(String args[]) {         Scanner sc= new Scanner(System.in);         int n=sc.nextInt();int limit=0;         int s=n;         int a[][]= new int[n][n];         int l=0;int r=n-1;         while(limit<n){             for(int i=l;i<=r;i++){                 for(int j=l;j<=r;j++)                     if(i==l || i==r || j==l || j==r)                     a[i][j]=n;             }             l++;r--;n--;limit++;         }         for(int i=0;i<s;i++){ ...