ครู Precalc ของฉันมีหนึ่งในปัญหาที่เขาโปรดปรานที่เขาสร้างขึ้น (หรือมีแนวโน้มที่จะขโมยแรงบันดาลใจจากxkcd ) ที่เกี่ยวข้องกับแถวของn
โถฉี่ "รุกฆาต" เป็นสถานการณ์ที่ทุกปัสสาวะมีอยู่แล้วหรือมีปัสสาวะอยู่ถัดจากพวกเขา ยกตัวอย่างเช่นถ้าเป็นคนที่เป็นX
แล้ว
X-X--X
ถือว่ารุกฆาต โปรดทราบว่าคนที่ไม่สามารถครอบครองปัสสาวะถัดจากปัสสาวะที่ถูกครอบครองแล้ว
งาน
โปรแกรมของคุณจะใช้ตัวเลขstdin
, args ของบรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชัน โปรแกรมของคุณจะพิมพ์ออกมาหรือส่งกลับจำนวนวิธีที่รุกฆาตสามารถเกิดขึ้นได้กับจำนวนของโถฉี่
ตัวอย่าง
0 -> 1
(นับกรณี null เป็นรุกฆาต)
1 -> 1
( X
)
2 -> 2
( X-
หรือ-X
)
3 -> 2
( X-X
หรือ-X-
)
4 -> 3
( X-X-
, -X-X
หรือX--X
)
5 -> 4
( X-X-X
, X--X-
, -X-X-
หรือ-X--X
)
6 -> 5
( X-X-X-
, X--X-X
, X-X--X
, -X--X-
หรือ-X-X-X
)
7 -> 7
( X-X-X-X
, X--X-X-
, -X-X--X
, -X--X-X
, X-X--X-
, X--X--X
หรือ-X-X-X-
)
8 -> 9
( -X--X--X
, -X--X-X-
, -X-X--X-
, -X-X-X-X
, X--X--X-
, X--X-X-X
, X-X--X-X
, X-X-X--X
, X-X-X-X-
)
...
เกณฑ์การให้คะแนน
โปรแกรมที่เล็กที่สุดเป็นไบต์ชนะ
''
มีการติดตั้งตรงหนึ่งซึ่งเป็นรุกฆาตและว่า นี่เหมือนกับแฟคทอเรียลและพีชคณิต 0! = 1 เนื่องจากมีวิธีการจัดเรียง 0 รายการอย่างแน่นอน