แรงบันดาลใจจากHyperprogramming: N + N, N × N, N ^ N ทั้งหมดในที่เดียว
ขอบคุณ @MartinEnder และ @trichoplax สำหรับความช่วยเหลือในกล่องทราย
คำนิยาม
Hyperquines
กำหนดhyperquineของnคำสั่งเป็นโปรแกรมหรือฟังก์ชันPเหมือนเต็มquine ที่ตรงกับกฎทั้งหมดที่ใช้กับquines ที่เหมาะสมและนอกจากนี้มีโครงสร้างดังต่อไปนี้
Pคือการรวมกันของกลุ่มอักขระ‡ที่ประกอบด้วยสำเนาnตัวอักษรเดียวกัน เมื่อPจะถูกดำเนินการในการส่งออกคือการเรียงต่อกันในกลุ่มเดียวกันเติมโดยสำเนาอีกหนึ่งของตัวละคร
ตัวอย่าง
ในการเขียนโปรแกรมภาษาสมมุติที่รหัสที่มา
aabbccสร้างการส่งออกaaabbbcccโปรแกรมนี้ถือว่า hyperquine สั่งซื้อ2คำจำกัดความไม่ต้องการให้อักขระของกลุ่มต่างกันจะแตกต่างกัน
ถ้าซอร์สโค้ด
aabbccสร้างเอาท์พุทaaaabbbbcccc, โปรแกรมเป็น hyperquine ของการสั่งซื้อ1 ; ซอร์สโค้ดประกอบด้วยกลุ่มอักขระเดี่ยวหกกลุ่มเอาต์พุตของอักขระหกคู่ในGS2โปรแกรมที่ว่างเปล่าจะพิมพ์ออก
\nมาและโปรแกรมจะ\nพิมพ์\n\nออกมา แต่ไม่\nว่ามิได้\n\nมี hyperquines เนื่องจากพวกเขาพวกเขาไม่ตอบสนองคุณสมบัติทั้งหมดของquines ที่เหมาะสม ; ไม่มีส่วนใดของรหัสที่มาเข้ารหัสส่วนต่าง ๆของผลลัพธ์
โซ่ไฮเปอร์วิน
นิยามhyperquine chain of length nเป็นลำดับที่แน่นอนของn full programs หรือn function
(P 1 , …, P n )ที่สอดคล้องกับข้อ จำกัด ดังต่อไปนี้
เอาต์พุตของP 1 , …, P n-1คือP 2 , …, P n , ตามลำดับ
P 1 , …, P nคือไฮเปอร์คิ
คำสั่งของP 1 , …, P nสร้างลำดับของจำนวนเต็มที่อยู่ติดกันอย่างเคร่งครัด
สุดท้ายกำหนดห่วงโซ่ hyperquine อนันต์เป็นลำดับอนันต์ของโปรแกรมเต็มหรือฟังก์ชั่น(P 1 , P 2 , ... )เช่นกันว่าช่วงเวลาเริ่มต้น(P 1 , ... , P n )ที่ถือว่าเป็นห่วงโซ่ hyperquine ของความยาวn
ตัวอย่าง
ในการเขียนโปรแกรมภาษาสมมุติที่รหัสที่มา
aabbccสร้างการส่งออกaaabbbcccซึ่งในที่สุดก็สร้างเอาท์พุทaaaabbbbccccคู่ (aabbcc,aaabbbccc) ที่ถือว่าเป็นห่วงโซ่ hyperquine ของความยาว2โปรดทราบว่า
aaaabbbbcccc- ผลลัพธ์ของไฮเปอร์ควินล่าสุดในสายโซ่ - ไม่จำเป็นต้องสร้างเอาต์พุตเฉพาะ ไม่จำเป็นต้องเป็นซอร์สโค้ดที่ถูกต้องอย่างต่อเนื่องตัวอย่างก่อนหน้านี้ถ้า
aaaabbbbccccสร้างเอาท์พุทaaaaabbbbbccccc, แฝด (aabbcc,aaabbbccc,aaaabbbbcccc) ที่ถือว่าเป็นห่วงโซ่ hyperquine ของความยาว3หากรูปแบบนี้ยังคงอยู่ตลอดไปลำดับ (
aabbcc,aaabbbccc,aaaabbbbcccc, ... ) ถือว่าเป็นห่วงโซ่ hyperquine อนันต์คู่ของโปรแกรม (
abc,aabbcc) ที่มีเอาต์พุต (aabbcc,aaaabbbbcccc) ไม่ได้เป็นไฮเปอร์วินซีนเนื่องจากคำสั่งของไฮเปอร์วินเป็นทั้ง1ดังนั้นพวกเขาจึงไม่ได้เรียงลำดับที่เพิ่มขึ้นอย่างเข้มงวดคู่ของโปรแกรม (
aabbcc,aaaabbbbcccc) ที่มีเอาท์พุต (aaaabbbbcccc,aaaaabbbbbccccc) ไม่ใช่สายไฮเปอร์ควินเนื่องจากคำสั่งของไฮควินเป็น1และ4ดังนั้นจึงไม่ได้สร้างลำดับของจำนวนเต็มที่อยู่ติดกัน
กฎระเบียบ
งาน
ในภาษาการเขียนโปรแกรมที่คุณเลือกให้เขียนไฮเปอร์ควิโนนที่ไม่สำคัญเช่นเชนที่ประกอบด้วยไฮเปอร์คินอย่างน้อย2ตัว
ตามปกติโปรแกรมของคุณจะไม่รับอินพุตหรือเข้าถึงซอร์สโค้ดของตัวเองในรูปแบบใด ๆ
หากล่ามของคุณพิมพ์บรรทัดใหม่โดยนัยไฮเปอร์ไลน์ของคุณจะต้องคำนึงถึงสิ่งนี้
มีช่องโหว่มาตรฐานทั้งหมดโดยเฉพาะที่เกี่ยวข้องกับควินิน
เกณฑ์การให้คะแนน
ห่วงโซ่ hyperquine ที่ยาวที่สุดชนะ หากมีการเชื่อมโยงการส่งสองครั้งขึ้นไปการส่งระหว่างสิ่งเหล่านี้ที่เริ่มต้นด้วย hyperquine ที่สั้นที่สุด (วัดเป็นอักขระ‡ ) จะชนะ ตามปกติเวลาการโพสต์คือ tiebreaker สุดท้าย
‡ คุณต้องใช้การเข้ารหัสอักขระเดียวกันสำหรับซอร์สโค้ดเอาต์พุตจำนวนตัวอักษรและการดำเนินการ ตัวอย่างเช่นโปรแกรม Python print 42เป็นได้ 2 ตัว UTF-32 ส่งตั้งแต่ถือว่าล่ามแต่ละไบต์เป็นตัวเดียว หากภาษาที่คุณเลือกไม่ได้อิงกับตัวอักษรให้ถือว่าไบต์แต่ละตัวเป็นตัวอักษร