ในทั้งหมด 20 ข้อที่ผมแปะมา ไม่มีข้อไหนจะทำให้ผมแปลกใจได้เท่ากับข้อนี้อีกแล้วครับ ผมเคยเข้าใจว่าคนที่สนใจคณิตศาสตร์จะชอบเขียนโปรแกรมด้วย เดาผิดอย่างแรงครับ (เอาตัวเองเป็นที่ตั้ง
) ผมทราบว่าการเรียนคณิตศาสตร์ในปัจจุบันไม่มีความเกี่ยวข้องกับการเขียนโปรแกรมเลย แต่ก็คิดไปเองว่าหลายๆคนคงชอบเขียนโปรแกรมเล่น
ผมเห็นด้วยกับความเห็นของคุณ Mr.high นะ ยกเว้นเรื่อง Java นี่ผมไม่รู้ แต่รู้สึกเหมือนว่าอะไรที่เขียนด้วย Java แล้วมักจะช้าครับ
โจทย์ข้อนี้เป็นเหมือนบังคับให้ใช้คอมพ์ได้อย่างเดียวเลยครับ คงไม่มีสูตรทั่วไป เป็นเหมือนกับการวิ่งแข่งของสองเซต (ซึ่งในที่สุดเซตหลังจะชนะขาดครับ)
วิธีการเขียนก็ง่ายๆครับ ไม่ต้องทำ optimization อะไรเลย อาศัยความเร็วของคอมพิวเตอร์ในยุคปัจจุบันก็พอแล้ว
เริ่มไล่จากเลข $ 1, 2, 3, \dots $ ไปทีละตัว ดูว่าตัวไหนเป็น 9-free บ้าง แล้วนับไปด้วยว่ามี 9-free กี่ตัว และที่ไม่ใช่ 9-free กี่ตัวแล้ว คอยเช็คดูว่ามีจุดไหนที่สองเซ็ตมีสมาชิกเท่ากันบ้าง
ส่วนการเช็คว่าจำนวนจำนวนหนึ่งเป็น 9-free มั้ย วิธีง่ายๆอันนึงก็คือเอา 10 ไปหาร เช็คดูว่าเศษเป็น 9 หรือไม่ ถ้าเป็นก็ไม่ใช่ 9-free ถ้าไม่เป็นก็มาดู quotient ถ้า quotient ไม่เท่ากับ 0 ก็วน loop กลับไปหารด้วย 10 ต่อ ถ้า quotient = 0 แล้วก็แสดงว่าเป็น 9-free ครับ
ยังมีใครอยากจะลองทำข้อนี้ไหมครับ??? ผมจะรอต่อไปอีกสักพักนึงนะ ถ้าไม่มีใครมาตอบผมก็เฉลยตัวเลข แล้วให้คุณ TOP ช่วยแปะตัวอย่างโปรแกรมเป็นภาษา C ด้วย
เฮ้อ ตอนแรกนึกว่าข้อนี้จะง่าย LaTeX ก็ไม่ต้องใช้ วิธีทำก็ไม่ต้องเขียน ไหงทำไปทำมาดูเหมือนว่าจะเป็นข้อแรกที่ผมต้องเฉลยเองซะงั้น