สิ่งนี้ขึ้นอยู่กับความท้าทายนี้และความคิดของ Geobits / CarpetPython เพื่อปรับปรุง:
สำหรับความท้าทายนี้ระยะห่างระหว่างตัวเลขสองจำนวนจะถูกวัดบนลูปดังนั้นเช่นระยะห่างระหว่าง 0 ถึง 999 คือ 1 สิ่งนี้ควรป้องกันกลยุทธ์เช่นการเลือกหมายเลขต่ำสุดหรือสูงที่สุดเสมอจากการชนะเกือบทุกครั้ง การเปลี่ยนแปลงอื่น ๆ เท่านั้นคือจำนวนต่ำสุดที่สามารถเลือกได้คือ 0 แทน 1
ฉันจะสรุปได้ที่นี่:
- เขียนฟังก์ชั่นใน Java, Python หรือ Ruby ที่มีอาร์กิวเมนต์สามตัว:
- จำนวนรอบที่เล่นจนถึง
- จำนวนผู้เล่น
- ตัวเลขที่เลือกในรอบก่อนหน้านี้เป็นอาร์เรย์ของสตริงที่คั่นด้วยช่องว่าง
- มันควรจะกลับจำนวนเต็มตั้งแต่ 0 ถึง 999 รวม
- คะแนนสำหรับโปรแกรมในแต่ละรอบคือผลรวมของสแควร์รูทของระยะทางไปยังหมายเลขที่แต่ละโปรแกรมอื่นเลือก
- โปรแกรมที่มีคะแนนสูงสุดหลังจากชนะ 100 รอบ
- หนึ่งคำตอบต่อคน
โปรแกรมควบคุมอยู่ที่นี่:
https://github.com/KSFTmh/src/
ลีดเดอร์บอร์ด
NumberOne โดย TheBestOne เป็นผู้ชนะ
- NumberOne - 9700
- NumberOnePlusFourNineNine - 9623
- ประวัติศาสตร์โบราณ - 9425
- FindCampers - 9259
- WowThisGameIsSoDeep - 9069
- ตัวอย่าง - 9014
- การก่อวินาศกรรม - 8545
เห็นได้ชัดว่าการก่อวินาศกรรมค่ายของฉัน ... เอ่อ (?) ทำงานได้ไม่ดีนัก
นี่คือผลการแข่งขันเต็มรูปแบบ: https://github.com/KSFTmh/src/blob/master/results-3
ฉันคิดว่ามันแตกต่างกันพอที่จะไม่ซ้ำซ้อน
นี่เป็นครั้งแรกที่ฉันถามคำถามเกี่ยวกับการแลกเปลี่ยนแบบสแต็กดังนั้นแจ้งให้ฉันทราบหากฉันทำอะไรผิด