สมัครสมาชิก   เข้าระบบ  
ประกาศ: UKM 14 ที่ ม.มหาสารคาม เลื่อนเป็นวันที่ 9-10 ม.ค. 2552
ใบไม้ผลิ
อ่าน: 262
ฝึกวิเคราะห์ algorithm ด้วยตะแกรงร่อน Palindrome (4)

คราวที่แล้ว ผมทิ้งท้ายว่า หลังจากใช้กฎต่าง ๆ มากรองแล้ว ก็สาธิตให้เห็นได้ว่า เหลือรายการต้องคูณทดสอบ 210 ครั้งก็พอ

แต่คาดตอนแรก ว่าเจอรายการที่เป็น palindrome ราว 95 % คือราวเกือบ 200 ครั้ง โดย assume ว่า ถ้าไม่ใช่ prime number ก็แสดงว่าเป็น palindrome

ซึ่งผิด

ทำไมผิด ? 

เพราะผมตกหล่นไปรายการหนึ่ง คือ palindrome probability distribution

palindrome ในเลข 8 หลัก ที่บังคับขึ้นต้นด้วยเลข 9 จะมีโอกาสพบได้ต่ำมาก

                                 9xyz zyx9

ดูช้า ๆ ชัด ๆ นะครับ มี x y z ดิ้นได้ แต่ละตัวดิ้นได้สิบแบบ คือจากศูนย์ถึง 9 ดังนั้น จะทำให้ทั้งสามตัว ดิ้นได้ 10 x 10 x 10 = 1000 แบบถ้วน

จาก 9000 0009 ถึง 9999 9999 มีเลขทั้งหมด 9999991 ตัว

หรือนั่นคือ หยิบเลขใด ๆ มาหนึ่งตัวที่เป็นเลข 8 หลักที่ขึ้นต้นด้วยเลข 9 จะมีโอกาสพบ palindrome อยู่เพียง 1000/9999990 หรือประมาณ 1 ในหมื่นเท่านั้นเอง

ดังนั้น คูณกัน 210 คู่ ก็จะมีโอกาสเจอ palindrome น้อยมาก คือราว 0.02 ตัวเท่านั้นเอง

ดังนั้น ที่เจอ 1 ตัว ก็ถือว่าบุญแล้ว !

 

 

 

สร้าง: พฤ. 11 ต.ค. 2550 @ 22:31   แก้ไข: อา. 23 ธ.ค. 2550 @ 21:58   ขนาด: 2390 ไบต์
ความคิดเห็น
P
1. ภูสุภา
เมื่อ ศ. 11 ก.ค. 2551 @ 21:46
738374 [ลบ]

แปลกจังเลย อ่านไม่เข้าใจแต่ก็อ่านจนครบทุกตอน อิ อิ

ชื่อ:
อีเมล:
IP แอดเดรส: 38.103.63.56
  เรียกใช้งานตัวจัดการข้อความ
ข้อความ:
 
รหัสสุ่ม: (ใส่รหัสสุ่มที่แสดงไว้ด้านบน)
  ยกเลิก