หาตัวเลขที่หายไปในสมการ a + b = c
กำหนดสมการ a + b = c ที่ตัวเลขหนึ่งตัวหายไป (แทนด้วย ?) หาค่าที่หายไป
ตัวอย่าง: "? + 4 = 9" → 5, "6 + 8 = ?" → 14
วิธีแก้ง่ายๆ
- ลบช่องว่าง และแทน
+และ=ด้วยคอมมา - Split ด้วยคอมมาได้ 3 ส่วน
- หาตำแหน่งที่ไม่ใช่ตัวเลข (คือ
?) - คำนวณย้อนกลับ:
- หายตัวสุดท้าย (c):
a + b - หายตัวกลาง (b):
c - a - หายตัวแรก (a):
c - b
- หายตัวสุดท้าย (c):
โค้ดตัวอย่าง Python
def find_missing(eq):
eq = eq.replace(' ', '').replace('=', ',').replace('+', ',')
parts = eq.split(',')
idx = next(i for i, p in enumerate(parts) if not p.isdigit())
a, b, c = map(int, [p for p in parts if p.isdigit()])
if idx == 2: return a + b
if idx == 1: return c - a
return c - b
print(find_missing('6 + 8 = ?')) # 14
print(find_missing('? + 8 = 20')) # 12
print(find_missing('5 + ? = 15')) # 10