File tree Expand file tree Collapse file tree 1 file changed +12
-21
lines changed
Expand file tree Collapse file tree 1 file changed +12
-21
lines changed Original file line number Diff line number Diff line change 11def is_palindrome (number : int ) -> bool :
22 """
3- Check whether a given integer is a palindrome.
3+ Determines if an integer is a palindrome without string conversion .
44
5- A palindrome number reads the same forwards and backwards.
6-
7- Examples:
8- >>> is_palindrome(121)
9- True
10- >>> is_palindrome(123)
11- False
5+ Logic:
6+ 1. Filter out negative numbers and multiples of 10.
7+ 2. Reverse the second half of the number.
8+ 3. Compare the two halves.
129 """
13- number_str = str (number )
14- return number_str == number_str [::- 1 ]
15-
10+ if number < 0 or (number % 10 == 0 and number != 0 ):
11+ return False
1612
17- if __name__ == "__main__" :
18- user_input = input ("Enter a number: " ).strip ()
13+ reversed_half = 0
14+ while number > reversed_half :
15+ reversed_half = (reversed_half * 10 ) + (number % 10 )
16+ number //= 10
1917
20- if user_input .isdigit ():
21- number = int (user_input )
22- if is_palindrome (number ):
23- print ("The number is a palindrome." )
24- else :
25- print ("The number is not a palindrome." )
26- else :
27- print ("Please enter a valid non-negative integer." )
18+ return number == reversed_half or number == reversed_half // 10
You can’t perform that action at this time.
0 commit comments