พิจารณาABCสามเหลี่ยมที่แต่ละด้านมีความยาวเต็ม ( สามเหลี่ยมหนึ่ง ) กำหนดค่ามัธยฐานของABCให้เป็นส่วนของเส้นตรงจากจุดสุดยอดไปจนถึงจุดกึ่งกลางของฝั่งตรงข้าม ในภาพด้านล่างส่วนของเส้นสีแดงแสดงถึงค่ามัธยฐาน โปรดทราบว่าสามเหลี่ยมใด ๆ ที่ระบุมีค่ามัธยฐานสามค่า
ให้nเป็นจำนวนเต็มบวก มีอินทิกรัลไม่รูปสามเหลี่ยมจำนวนกี่ตัวที่มีความยาวด้านละน้อยกว่าหรือเท่ากับnมีค่ามัธยฐานอินทิกรัลอย่างน้อยหนึ่งค่า
ท้าทาย
จงเขียนโปรแกรมเพื่อคำนวณจำนวนสามเหลี่ยมหนึ่งที่มีค่ามัธยฐานหนึ่งอย่างน้อยหนึ่งสำหรับกำหนดความยาวสูงสุดด้านn คำสั่งของความยาวด้านนั้นไม่สำคัญเช่น <6,6,5> แสดงถึงสามเหลี่ยมเดียวกันกับ <5,6,6> และควรนับเพียงครั้งเดียว ยกเว้นรูปสามเหลี่ยมที่เสื่อมสภาพเช่น <1,2,3>
เกณฑ์การให้คะแนน
n ที่ใหญ่ที่สุดซึ่งโปรแกรมของคุณสามารถสร้างจำนวนสามเหลี่ยมใน60 วินาทีในเครื่องของฉันคือคะแนนของคุณ โปรแกรมที่มีคะแนนสูงสุดจะเป็นผู้ชนะ เครื่องของฉันคือ Sony Vaio SVF14A16CLB, Intel Core i5, 8GB RAM
ตัวอย่าง
ให้T ( N ) เป็นโปรแกรมที่มีการป้อนข้อมูลN
T(1) = 0
T(6) = 1
T(20) = 27
T(22) = 34
โปรดทราบว่าT (1) = T (2) = T (3) = T (4) = T (5) = 0 เพราะไม่มีการรวมกันของส่วนที่สำคัญจะให้ค่ามัธยฐานอินทิกรัล อย่างไรก็ตามเมื่อเราไปถึง 6 เราจะเห็นว่าหนึ่งในค่ามัธยฐานของรูปสามเหลี่ยม <5,5,6> คือ 4 ดังนั้นT (6) = 1
โปรดทราบว่าT (22) เป็นค่าแรกที่การนับซ้ำจะกลายเป็นปัญหา: รูปสามเหลี่ยม <16,18,22> มีค่ามัธยฐาน 13 และ 17 (และ 2sqrt (85))
การคำนวณค่ามัธยฐาน
ค่ามัธยฐานของรูปสามเหลี่ยมสามารถคำนวณได้จากสูตรดังต่อไปนี้:
Current top score: Sp3000 - 7000 points - C