Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบตัวเลขเป็น palindrome หรือไม่โดยไม่ต้องใช้สตริงในPython


สมมติว่าเรามีจำนวนเต็มที่ไม่ติดลบเรียกว่า 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