“987654321 / 123456789 ≈ 8” — เมื่อเลขเรียงกลายเป็นเวทมนตร์ทางคณิตศาสตร์

John D. Cook ได้หยิบยกตัวเลขที่ดูธรรมดาอย่าง 987654321 และ 123456789 มาหารกัน แล้วพบว่าได้ผลลัพธ์ใกล้เคียงกับเลข 8 อย่างน่าทึ่ง — คือ 8.0000000729 ซึ่งนำไปสู่การตั้งคำถามว่า “มีอะไรพิเศษในเลขฐาน 10 หรือไม่?”

ลองจินตนาการว่าคุณเอาตัวเลขที่เรียงจากมากไปน้อย (9 ถึง 1) มาหารด้วยตัวเลขที่เรียงจากน้อยไปมาก (1 ถึง 9) แล้วได้ผลลัพธ์ใกล้เคียงกับจำนวนเต็ม — นี่ไม่ใช่เรื่องบังเอิญ แต่เป็นผลจากโครงสร้างของเลขในแต่ละฐาน

Cook ทดลองกับเลขในฐานอื่น เช่น:
ฐาน 6: 54321₆ / 12345₆ ≈ 4.00268
ฐาน 16: 0xFEDCBA987654321 / 0x123456789ABCDEF ≈ 14

จากนั้นเขาสร้างสูตรทั่วไปโดยนิยาม:
num(b): ตัวเลขที่เรียงจากมากไปน้อยในฐาน b
denom(b): ตัวเลขที่เรียงจากน้อยไปมากในฐาน b

ผลลัพธ์คือ:
num(b) / denom(b) ≈ b − 2 + (b − 1)³ / bᵇ

ซึ่งหมายความว่าในทุกฐาน b > 2 การหารตัวเลขเรียงกลับกับเรียงตรงจะให้ผลลัพธ์ใกล้เคียงกับ b − 2 เสมอ และเศษส่วนที่เหลือจะเล็กมาก — เล็กจน floating point ในคอมพิวเตอร์อาจมองไม่เห็น!

การทดลองตัวเลขเรียงในฐาน 10
987654321 / 123456789 ≈ 8.0000000729
ใกล้เคียงกับ 8 + 9³ / 10¹⁰

การทดลองในฐานอื่น
ฐาน 6: ผลลัพธ์ ≈ 4.00268
ฐาน 16: ผลลัพธ์ ≈ 14

นิยามทั่วไปของตัวเลขเรียง
num(b): ตัวเลขเรียงจากมากไปน้อยในฐาน b
denom(b): ตัวเลขเรียงจากน้อยไปมากในฐาน b

สูตรประมาณค่า
num(b) / denom(b) ≈ b − 2 + (b − 1)³ / bᵇ
เศษส่วนที่เหลือ ≈ 1 / bᵇ⁻²

การพิสูจน์ด้วย Python
ใช้การคำนวณเชิงโปรแกรมแทนการพิสูจน์ทางคณิตศาสตร์
ตรวจสอบความถูกต้องของสูตรในฐานตั้งแต่ 3 ถึง 1000

คำเตือนสำหรับการใช้ floating point
floating point มีความแม่นยำจำกัด (53 bits)
อาจมองไม่เห็นเศษส่วนเล็กมากในผลลัพธ์

https://www.johndcook.com/blog/2025/10/26/987654321/
🔢 “987654321 / 123456789 ≈ 8” — เมื่อเลขเรียงกลายเป็นเวทมนตร์ทางคณิตศาสตร์ John D. Cook ได้หยิบยกตัวเลขที่ดูธรรมดาอย่าง 987654321 และ 123456789 มาหารกัน แล้วพบว่าได้ผลลัพธ์ใกล้เคียงกับเลข 8 อย่างน่าทึ่ง — คือ 8.0000000729 ซึ่งนำไปสู่การตั้งคำถามว่า “มีอะไรพิเศษในเลขฐาน 10 หรือไม่?” ลองจินตนาการว่าคุณเอาตัวเลขที่เรียงจากมากไปน้อย (9 ถึง 1) มาหารด้วยตัวเลขที่เรียงจากน้อยไปมาก (1 ถึง 9) แล้วได้ผลลัพธ์ใกล้เคียงกับจำนวนเต็ม — นี่ไม่ใช่เรื่องบังเอิญ แต่เป็นผลจากโครงสร้างของเลขในแต่ละฐาน Cook ทดลองกับเลขในฐานอื่น เช่น: 📍 ฐาน 6: 54321₆ / 12345₆ ≈ 4.00268 📍 ฐาน 16: 0xFEDCBA987654321 / 0x123456789ABCDEF ≈ 14 จากนั้นเขาสร้างสูตรทั่วไปโดยนิยาม: 📍 num(b): ตัวเลขที่เรียงจากมากไปน้อยในฐาน b 📍 denom(b): ตัวเลขที่เรียงจากน้อยไปมากในฐาน b ผลลัพธ์คือ: 📍 num(b) / denom(b) ≈ b − 2 + (b − 1)³ / bᵇ ซึ่งหมายความว่าในทุกฐาน b > 2 การหารตัวเลขเรียงกลับกับเรียงตรงจะให้ผลลัพธ์ใกล้เคียงกับ b − 2 เสมอ และเศษส่วนที่เหลือจะเล็กมาก — เล็กจน floating point ในคอมพิวเตอร์อาจมองไม่เห็น! ✅ การทดลองตัวเลขเรียงในฐาน 10 ➡️ 987654321 / 123456789 ≈ 8.0000000729 ➡️ ใกล้เคียงกับ 8 + 9³ / 10¹⁰ ✅ การทดลองในฐานอื่น ➡️ ฐาน 6: ผลลัพธ์ ≈ 4.00268 ➡️ ฐาน 16: ผลลัพธ์ ≈ 14 ✅ นิยามทั่วไปของตัวเลขเรียง ➡️ num(b): ตัวเลขเรียงจากมากไปน้อยในฐาน b ➡️ denom(b): ตัวเลขเรียงจากน้อยไปมากในฐาน b ✅ สูตรประมาณค่า ➡️ num(b) / denom(b) ≈ b − 2 + (b − 1)³ / bᵇ ➡️ เศษส่วนที่เหลือ ≈ 1 / bᵇ⁻² ✅ การพิสูจน์ด้วย Python ➡️ ใช้การคำนวณเชิงโปรแกรมแทนการพิสูจน์ทางคณิตศาสตร์ ➡️ ตรวจสอบความถูกต้องของสูตรในฐานตั้งแต่ 3 ถึง 1000 ‼️ คำเตือนสำหรับการใช้ floating point ⛔ floating point มีความแม่นยำจำกัด (53 bits) ⛔ อาจมองไม่เห็นเศษส่วนเล็กมากในผลลัพธ์ https://www.johndcook.com/blog/2025/10/26/987654321/
0 ความคิดเห็น 0 การแบ่งปัน 18 มุมมอง 0 รีวิว