อาจเป็นความท้าทายของรหัสกอล์ฟที่ง่าย รับ 2 จำนวนเต็มบวกm
และn
ทำให้รายการของค่าที่เป็นจำนวนเต็มบวกที่มีผลรวมเท่ากับจำนวนn
m
ค่าทั้งหมดในเอาต์พุตเป็นค่าเดียวกันหรือความแตกต่างคือ 1
ตัวอย่าง
ตัวอย่างเช่น
m=6
และn=3
จะกลายเป็น2, 2, 2
m=7
และn=3
จะกลายเป็น2, 2, 3
หรือ2, 3, 2
หรือ3, 2, 2
m=7
และn=2
จะกลายเป็น3, 4
หรือ4, 3
m=7
และn=1
จะกลายเป็น7
m=7
และn=8
จะสร้างข้อผิดพลาดเนื่องจากผลรวมของเลขจำนวนเต็มบวก 8 ตัวไม่สามารถเป็น 7 ได้m=10
และn=4
จะกลายเป็น3, 3, 2, 2
หรือการเปลี่ยนแปลงอื่น ๆ
กฎระเบียบ
- ทั้งอินพุทและเอาท์พุทเป็นเพียงจำนวนเต็มบวกเท่านั้น
- ค่าทั้งหมดในเอาต์พุตเป็นค่าเดียวกันหรือความแตกต่างคือ 1
- ลำดับของค่าในรายการไม่สำคัญ
m
ผลรวมของค่าในรายการจะมีค่าเท่ากับ- เมื่อไม่สามารถแก้ไขได้ให้สร้างข้อผิดพลาดหรือค่าเท็จ (ในกรณีของ m = 7 และ n = 8 เช่น)
- เป็นผลมาจากกฎอื่น ๆ
m=8
และn=3
จะสร้างการเรียงสับเปลี่ยนของ3, 3, 2
(ไม่2, 2, 4
)
ผู้ชนะ
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ
float a = -0f, b = 0f; System.out.println(a == b); System.out.println(a + "," + b);
... ผลิตและtrue
-0.0,0.0
ดู, บวก 0 และลบ 0 เป็นตัวเลขสองตัวที่ต่างกันอย่างชัดเจน ...