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

ตรวจสอบว่าผลคูณของเลขหลักตำแหน่งคู่และคี่ เท่ากันหรือไม่ด้วย Python


สมมติมีตัวเลข n ต้องตรวจสอบว่าผลคูณของเลขหลักตำแหน่งคี่ และตำแหน่งคู่ เท่ากันหรือไม่

เช่น Input n = 2364 Output True เพราะ ตำแหน่งคี่ (2*6=12) ตำแหน่งคู่ (3*4=12) เท่ากัน

ขั้นตอนแก้:

  • ถ้า num < 10 Return False
  • odd_place = 1, even_place = 1
  • While num > 0: ดึงหลักสุดท้าย คูณ odd_place, num //= 10; ถ้า num == 0 break; ดึงหลักสุดท้าย คูณ even_place, num //= 10
  • ถ้า odd_place == even_place Return True
  • Return False

ตัวอย่างโค้ด

def solve(num):
    if num < 10:
        return False
    odd_place = 1
    even_place = 1
    while num > 0:
        d = num % 10
        odd_place *= d
        num = num//10
        if num == 0:
            break
        d = num % 10
        even_place *= d
        num = num//10
    if odd_place == even_place:
        return True
    return False

num = 2364
print(solve(num))

Input

2364

Output

True