“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/
  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 รีวิว
                
  
                                               
                                                             
                               
  
  English
English