7
ตีกอล์ฟวงกลมที่เล็กที่สุด!
ปัญหา: ให้คะแนนที่ไม่ว่างเปล่าในระนาบคาร์ทีเซียนหาวงกลมที่เล็กที่สุดที่ล้อมรอบพวกมันทั้งหมด ( ลิงค์ Wikipedia ) ปัญหานี้เล็กน้อยถ้าจำนวนคะแนนเป็นสามหรือน้อยกว่า (ถ้ามีจุดหนึ่งวงกลมจะมีรัศมีเป็นศูนย์ถ้ามีสองจุดส่วนของเส้นตรงที่รวมจุดนั้นคือเส้นผ่านศูนย์กลางของวงกลมถ้ามี จุดสามจุด (ไม่ใช่เครื่องหมาย colinear) เป็นไปได้ที่จะได้รับสมการของวงกลมที่สัมผัสได้ทั้งหมดหากพวกมันเป็นรูปสามเหลี่ยมที่ไม่เป็นปมหรือวงกลมที่สัมผัสเพียงสองจุดและล้อมรอบที่สามหากสามเหลี่ยมนั้นเป็นรูปสามเหลี่ยม ดังนั้นเพื่อความท้าทายนี้จำนวนคะแนนควรมากกว่าสาม ความท้าทาย: อินพุต:รายการของจุดที่ไม่ใช่ colinear 4 จุดขึ้นไป คะแนนควรมีพิกัด X และ Y พิกัดสามารถลอยได้ เพื่อบรรเทาความท้าทายไม่ควรมีสองจุดที่ใช้ร่วมกันพิกัด X เดียวกัน ตัวอย่างเช่น:[(0,0), (2,1), (5,3), (-1,-1)] เอาท์พุท: tuple ของค่า(h,k,r)เช่นนั้นเป็นสมการของวงกลมที่เล็กที่สุดที่ล้อมรอบทุกจุด(x−h)2+(y−k)2=r2(x−h)2+(y−k)2=r2(x-h)^2 + (y-k)^2 = r^2 กฎ: คุณสามารถเลือกวิธีการป้อนข้อมูลใดก็ได้ที่เหมาะกับโปรแกรมของคุณ ควรพิมพ์ผลลัพธ์ไปยังSTDOUTหรือส่งคืนโดยฟังก์ชัน ต้องการภาษา "ปกติ" ทั่วไปใช้ภาษาได้ แต่ภาษาเอสแตงใดก็ได้ คุณสามารถสันนิษฐานได้ว่าคะแนนนั้นไม่ได้ colinear นี่คือโค้ดกอล์ฟดังนั้นโปรแกรมที่เล็กที่สุดในหน่วยไบต์ชนะ ผู้ชนะจะได้รับการคัดเลือกหนึ่งสัปดาห์หลังจากการโพสต์ความท้าทาย โปรดรวมภาษาที่คุณใช้และความยาวเป็นไบต์เป็นส่วนหัวในบรรทัดแรกของคำตอบของคุณ: # …