อันดับแรกให้พูดคุยเกี่ยวกับลำดับเบ็ตตี้ ด้วยจำนวนอตรรกยะบวกrเราสามารถสร้างลำดับอนันต์โดยการคูณจำนวนเต็มบวกกับrตามลำดับและนำพื้นของการคำนวณผลลัพธ์แต่ละอัน ตัวอย่างเช่น,
ถ้าr > 1 เรามีเงื่อนไขพิเศษ เราสามารถสร้างจำนวนอตรรกยะจำนวนsเป็นs = r / ( r - 1) แล้วนี้สามารถสร้างลำดับเบ็ตตี้ของตัวเองB s เคล็ดลับคือการที่เรียบร้อยB RและB sเป็นที่เกื้อกูลซึ่งหมายความว่าทุกจำนวนเต็มบวกที่อยู่ในว่าหนึ่งในสองลำดับ
ถ้าเราตั้งค่าr = ϕ อัตราส่วนทองคำเราจะได้s = r + 1 และสองลำดับพิเศษ ต่ำลำดับ WythoffสำหรับR :
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
และลำดับ Wythoffสำหรับs :
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
นี่คือลำดับA000201และA001950บน OEIS ตามลำดับ
ความท้าทาย
รับค่าอินพุตจำนวนเต็มบวก1 <= n <= 1000
เอาต์พุตหนึ่งในสองค่าที่แตกต่างระบุว่าอินพุตอยู่ในลำดับ Wythoff ที่ต่ำกว่าหรือลำดับบน ค่าเอาต์พุตอาจเป็น-1
และ1
, true
และfalse
, upper
และlower
, เป็นต้น
แม้ว่าอัลกอริทึมที่คุณส่งจะต้องทำงานในทางทฤษฎีสำหรับอินพุตทั้งหมด แต่ในทางปฏิบัติมันจะต้องทำงานกับอินพุต 1,000 หมายเลขแรกเท่านั้น
I / O และกฎ
- อินพุตและเอาต์พุตจะได้รับโดยวิธีการที่สะดวกใด ๆ
- อินพุตและเอาต์พุตสามารถสันนิษฐานได้ว่าเหมาะสมกับชนิดของหมายเลขในภาษาของคุณ
- ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น หากฟังก์ชั่นคุณสามารถส่งคืนผลลัพธ์มากกว่าการพิมพ์
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือรหัส - กอล์ฟเพื่อให้ใช้กฎการตีกอล์ฟตามปกติทั้งหมดและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ