สมมติว่าเรามีจำนวนเต็มที่ไม่ติดลบเรียกว่า num เราต้องตรวจสอบว่าเป็นพาลินโดรมหรือไม่ เราต้องแก้โดยไม่ต้องใช้สตริง
ดังนั้นหากอินพุตเท่ากับ num =25352 เอาต์พุตจะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ก :=0
-
ค :=นัม
-
ในขณะที่ num> 0, ทำ
-
r :=num mod 10
-
num :=ชั้นของ num / 10
-
a :=(10 * a) + r
-
-
ถ้า a เหมือนกับ c แล้ว
-
คืนค่า True
-
-
มิฉะนั้นจะคืนค่าเป็นเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
def solve(num): a = 0 c = num while num > 0: r = num % 10 num = num // 10 a = (10 * a) + r if a == c: return True else: return False num = 25352 print(solve(num))
อินพุต
25352
ผลลัพธ์
True