How do you print a range of palindrome numbers in python?

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    Given a range of numbers, print all palindromes in the given range. For example if the given range is {10, 115}, then output should be {11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111}
    We can run a loop from min to max and check every number for palindrome. If the number is a palindrome, we can simply print it. 

    Implementation:

    C++

    #include

    using namespace std;

    int isPalindrome(int n)

    {

        int rev = 0;

        for (int i = n; i > 0; i /= 10)

            rev = rev*10 + i%10;

        return (n==rev);

    }

    void countPal(int min, int max)

    {

        for (int i = min; i <= max; i++)

            if (isPalindrome(i))

              cout << i << " ";

    }

    int main()

    {

        countPal(100, 2000);

        return 0;

    }

    Java

    class GFG

    {

        static int isPalindrome(int n)

        {

            int rev = 0;

            for (int i = n; i > 0; i /= 10)

                rev = rev * 10 + i % 10;

            return(n == rev) ? 1 : 0;

        }

        static void countPal(int min, int max)

        {

            for (int i = min; i <= max; i++)

                if (isPalindrome(i)==1)

                    System.out.print(i + " ");

        }

        public static void main(String args[])

        {

            countPal(100, 2000);

        }

    }

    Python3

    def isPalindrome(n: int) -> bool:

        rev = 0

        i = n

        while i > 0:

            rev = rev * 10 + i % 10

            i //= 10

        return (n == rev)

    def countPal(minn: int, maxx: int) -> None:

        for i in range(minn, maxx + 1):

            if isPalindrome(i):

                print(i, end = " ")

    if __name__ == "__main__":

        countPal(100, 2000)

    C#

    using System;

    class GFG

    {

    public static int isPalindrome(int n)

    {

        int rev = 0;

        for (int i = n; i > 0; i /= 10)

        {

            rev = rev * 10 + i % 10;

        }

        return (n == rev) ? 1 : 0;

    }

    public static void countPal(int min, 

                                int max)

    {

        for (int i = min; i <= max; i++)

        {

            if (isPalindrome(i) == 1)

            {

                Console.Write(i + " ");

            }

        }

    }

    public static void Main(string[] args)

    {

        countPal(100, 2000);

    }

    }

    Javascript

    function isPalindrome(n)

    {

        var rev = 0;

        for (var i = n; Math.trunc(i) > 0; i /= 10)

        {

            rev = ((rev*10) + (Math.trunc(i)%10));

            }

        return (n==rev);

    }

    function countPal(min,  max)

    {

        for (var i = min; i <=max; i++)

        {

            if(isPalindrome(i))

            document.write(i+" " );

           }

    }

        countPal(100, 2000);

    Output

    101 111 121 131 141 151 161 171 181 191 202 212 222 232 242
     252 262 272 282 292 303 313 323 333 343 353 363 373 383 393 404 
     414 424 434 444 454 464 474 484 494 505 515 525 535 545 555 565 
     575 585 595 606 616 626 636 646 656 666 676 686 696 707 717 727 
     737 747 757 767 777 787 797 808 818 828 838 848 858 868 878 888
     898 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 
     1441 1551 1661 1771 1881 1991 

    Time Complexity:

    Time complexity of function to check if a number N is palindrome or not is O(logN).

    We are calling this function each time while iterating from min to max.

    So the time complexity will be O(Dlog(M)).

    Where,

    D= max-min

    M = max

    Auxiliary Space: O(1)


    How do you find the range of a palindrome number in Python?

    write a function (main) which will ask the user to enter a starting and ending number range (inclusive). Count through the numbers using a while loop. Add the number into the total only if it is a palindrome (call isNumberPalindrome). Print the total after adding the numbers.

    How do you print all palindrome numbers in Python?

    The program output is also shown below. n=int(input("Enter number:")) temp=n rev=0 while(n>0): dig=n%10 rev=rev*10+dig n=n//10 if(temp==rev): print("The number is a palindrome!") else: print("The number isn't a palindrome!") 1. User must first enter the value of the integer and store it in a variable.

    How do you find the range of a palindrome number?

    Take two inputs range 1 and range2 for starting the program and also initialize num1 and num2..
    int range1, range2; System. ... .
    for (int i = range1; i <= range2; i++) { num1 = i; num2 = 0; }.
    while (num1 != 0) { int rem = num1 % 10; num1 /= 10; num2 = num2 * 10 + rem; }.
    if (i == num2) System.out.print(i + " "); }.

    How do you print a palindrome pattern in Python?

    Algorithm.
    Traverse i from i to rows+1 and do step 2 to step 10 (Outer loop for each row).
    Traverse j for i to rows+1 and do step 3 (1St inner loop to print blank spaces).
    print single blank space ” “.
    End of 1St inner loop..
    Traverse j for i to i+1 and do step 6 (2nd inner loop to print first half of palindrome).
    print j..