สมมติว่าคุณมีจำนวนเต็มบวกN ขั้นแรกให้สร้างรูปหลายเหลี่ยมแบบปกติที่มีจุดยอดNโดยมีระยะห่างระหว่างจุดยอดที่อยู่ใกล้เคียงเป็น 1 จากนั้นเชื่อมต่อเส้นจากจุดสุดยอดทุกจุดไปยังจุดสุดยอดอื่น ๆ สุดท้ายคำนวณความยาวของบรรทัดทั้งหมดที่รวมเข้าด้วยกัน
ตัวอย่าง
รับอินพุตN = 6สร้างรูปหกเหลี่ยมที่มีเส้นเชื่อมทุกจุดยอดด้วยจุดยอดอื่น
อย่างที่คุณเห็นมีเส้นขอบ 6 เส้น (ความยาว = 1), 3 เส้นที่มีความยาวเส้นขอบสองเท่า (ความยาว = 2) และอีก 6 เส้นที่เราใช้โดยทฤษฎีบทพีทาโกรัสสามารถคำนวณความยาวสำหรับ , ซึ่งเป็น
ถ้าเราเพิ่มความยาวของเส้นร่วมกันเราจะได้รับ(6 * 1) + (3 * 2) + (6 * 1.732) = 22.392
ข้อมูลเพิ่มเติม
เนื่องจากโครงสร้างที่มีจุดยอด 2 หรือน้อยกว่านั้นไม่ถือว่าเป็นรูปหลายเหลี่ยมเอาต์พุต 0 (หรือNaN
เนื่องจากระยะห่างระหว่างจุดยอดเดียวไม่สมเหตุสมผล) สำหรับ N = 1 เนื่องจากจุดยอดเดียวไม่สามารถเชื่อมต่อกับจุดยอดอื่น ๆ และ 1 สำหรับ N = 2 เนื่องจากจุดยอดสองจุดเชื่อมต่อกันด้วยบรรทัดเดียว
อินพุต
จำนวนเต็ม N ในรูปแบบที่สมเหตุสมผล
เอาท์พุต
ความยาวของสายทั้งหมดสรุปร่วมกันที่ถูกต้องอย่างน้อย 3 stdout
ตำแหน่งทศนิยมไม่ว่าจะเป็นฟังก์ชั่นการกลับมาหรือพิมพ์โดยตรงกับ
กฎระเบียบ
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในภาษาใดก็ได้จะเป็นผู้ชนะ
โชคดี!
กรณีทดสอบ
(Input) -> (Output)
1 -> 0 or NaN
2 -> 1
3 -> 3
5 -> 13.091
6 -> 22.392
nan
ก็ดีเหมือนกันเพราะระยะห่างระหว่างจุดสุดยอดเพียงจุดเดียวก็ไม่สมเหตุสมผลเลย
n=1
ฉันคิดว่า
N
เนื่องจากเอาต์พุตมีขนาดใหญ่ขึ้นและการลอยตัวจะแม่นยำน้อยลง
1
เหรอ? รายการปัจจุบันของฉันจะกลับมาnan
มากกว่าศูนย์ตัวอย่างและจะต้องใช้ปลอกพิเศษสำหรับมัน