Python Program

profileRohits333

1. A positive integer is called a palindrome if its representation in the decimal system is the same when read from left to right and from right to left. For a given positive integer K of not more than 109, write the value of the smallest palindrome larger than K to output. Numbers are always displayed without leading zeros.

Input

The first line contains integer t, the number of test cases. Followed by t lines containing integers K.

Output

For each K, output the smallest palindrome larger than K in a new line.

Sample Input.          Sample Output

2                                818

808                           2222
2133




def left_greater(number, index, sub):

    return int(number[index-sub::1]) > int(number[index:])

 

 

def palindrome(number, index, length):

    return number[:index] + number[length-index::1]

 

 

def increment_index(number, index, length, add):

    number = str(int(number[:index+add]) + 1) + number[index+add:]

    return palindrome(number, index, length)

 

 

def next_palindrome(number, length):

    index = int(length//2)

    if length % 2 != 0:

        if number[index] <= number[index - 1]:

            if left_greater(number, index, 1):

                return palindrome(number, index, length)

            else:

                return increment_index(number, index, length, 1)

        else:

            return increment_index(number, index, length, 0)

    else:

        if left_greater(number, index, 1):

            return palindrome(number, index, length)

        else:

            return increment_index(number, index, length, 0)

 

 

def all_9(number, length):

    for n in range(length):

        if number[n] != "9":

            return False

    return True

 

 

test_cases = int(input())

for t in range(test_cases):

    input_num = input()

    num_length = len(input_num)

    if all_9(input_num, num_length):

        print(int(input_num) + 1)

    else:

        print(next_palindrome(input_num, num_length))



Note: This is the given code and needs to be fixed.














    • 6 years ago
    • 20
    Answer(1)

    Purchase the answer to view it

    blurred-text
    NOT RATED
    • attachment
      prime.py.txt
    • attachment
      PrimeScreenshot.docx