ดูหนึ่งข้อความ
  #17  
Old 27 ตุลาคม 2006, 01:25
warut warut ไม่อยู่ในระบบ
กระบี่ไร้สภาพ
 
วันที่สมัครสมาชิก: 24 พฤศจิกายน 2001
ข้อความ: 1,627
warut is on a distinguished road
Smile

ในทั้งหมด 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 ก็ไม่ต้องใช้ วิธีทำก็ไม่ต้องเขียน ไหงทำไปทำมาดูเหมือนว่าจะเป็นข้อแรกที่ผมต้องเฉลยเองซะงั้น
ตอบพร้อมอ้างอิงข้อความนี้