Menemukan Palindrome terdekat dengan bahasa Pemograman Java

Oleh Jogi83 0 0 pada Senin, 18 Okt. 2021, 10:15:42


Kembali ke forum umum


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



Jadi saya lagi mencari palindrome terdekat contoh hasil output yang diinginkan :
Input 9 output nya 11
Input 100 output nya 101
Input 200 output nya 202
Input 1000 output nya 1001
Input 2345 output nya 2442
Tapi setelah dicoba menggunakan kode berikut

class palindrometerdekat {
    public static void main(String[ ] args) {
        System.out.println(nearestPalindromic("9"));
        System.out.println(nearestPalindromic("100"));
        System.out.println(nearestPalindromic("200"));
        System.out.println(nearestPalindromic("1000"));
        System.out.println(nearestPalindromic("2345"));
    }
           
    public static String nearestPalindromic(String n) {
         long num = Long.parseLong(n); 
         for (long i = 1;; i++) 
         { if (isPalindrome(num - i)) 
                return "" + (num - i); 
         if (isPalindrome(num + i)) 
                return "" + (num + i); } }; 

    public static boolean isPalindrome(long x) { 
            long t = x, rev = 0; 
            while (t > 0) 
            { 
                rev = 1000 * rev + t % 1000; t /= 1000; 
            } 
            return rev == x; };            
                
}

Output nya malah salah, bantu cari solusi nya please 🙏
0 jempol


Belum ada tanggapan