คำถามติดแท็ก source-layout

สำหรับความท้าทายที่เกี่ยวข้องกับรูปแบบทางกายภาพหรือการจัดการทางกายภาพของซอร์สโค้ด

4
รับ The Getters
งาน ฉันเดาว่าทุกคนชอบการสร้างรหัสอัตโนมัติและประหยัดเวลาในการทำงาน คุณต้องสร้างชั้นเรียนและสมาชิกจำนวนมากในระหว่างวันและคุณไม่ต้องการสร้างสิ่งเหล่านั้นgettersด้วยตนเอง ภารกิจคือการเขียนโปรแกรมหรือฟังก์ชั่นที่สร้างขึ้นgettersสำหรับสมาชิกทุกคนในชั้นเรียนให้คุณโดยอัตโนมัติ การป้อนข้อมูล ในวัตถุภาษาของเรานั้นง่ายมาก ชื่อของชั้นเรียนและสมาชิกจะต้องเริ่มต้นด้วย chararacter จากและสามารถมีตัวอักษร[a-zA-Z] [a-zA-Z0-9]นี่คือตัวอย่าง: class Stack { public overflow; protected trace; private errorReport; } ผลลัพธ์ นี่เป็นเอาต์พุตที่ถูกต้องตามตัวอย่างที่กำหนด: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

7
แถว, คอลัมน์, แนวทแยง, บล็อค
เขียนบล็อกสี่เหลี่ยมของรหัสที่มีความกว้าง N ตัวอักษรและสูง N ตัวสำหรับจำนวนเต็มบวก N ตัวอย่างเช่น N ของคุณอาจเป็น 5 และบล็อกมีลักษณะดังนี้: ThisI sMy5B y5Cod eBloc kOkay บล็อกนี้ต้องทำงานดังนี้: เมื่อแถวบนสุดถูกแยกและรันเป็นโปรแกรมข้อความที่rowต้องการจะพิมพ์เป็น stdout ยกตัวอย่างเช่นจะพิมพ์ThisIrow เมื่อคอลัมน์ด้านซ้ายถูกแยกและเรียกใช้เป็นโปรแกรมข้อความที่แน่นอนcolจะต้องพิมพ์ไปยัง stdout ยกตัวอย่างเช่นจะพิมพ์Tsyekcol เมื่อเส้นทแยงมุมหลักจากมุมบนซ้ายไปยังมุมขวาล่างถูกแยกและเรียกใช้เป็นโปรแกรมข้อความที่แน่นอนdiaจะต้องพิมพ์ไปยัง stdout ยกตัวอย่างเช่นจะพิมพ์TMCoydia เมื่อบล็อกทั้งหมดถูกเรียกใช้เป็นโปรแกรมรวมถึงการขึ้นบรรทัดใหม่ (ด้วยการขึ้นบรรทัดใหม่ที่ไม่จำเป็น) ข้อความที่ถูกblkต้องจะต้องพิมพ์ไปที่ stdout ตัวอย่างเช่น, ThisI sMy5B y5Cod eBloc kOkay blkจะพิมพ์ รายละเอียด โปรแกรมทั้งสี่นั้นทำงานในภาษาการเขียนโปรแกรมเดียวกัน ที่อยู่2ตัวละครในบล็อกเดิมอาจจะเป็นอะไร แต่เส้นจุดสิ้นสุด หากภาษาของคุณไม่มี stdout คุณอาจใช้วิธีการแสดงผลทั่วไปอื่น ต้องเป็นวิธีการเดียวกันในทั้งสี่โปรแกรม การส่งที่บล็อกดั้งเดิมมีอักขระที่แตกต่างกันน้อยที่สุด (ไม่นับบรรทัดใหม่) ชนะ Tiebreaker ไปที่การส่งโดยมี …

21
สตริงย่อยที่เพิ่มขึ้นยาวที่สุด
รับรายการของจำนวนเต็มบวกเขียนโค้ดที่ค้นหาความยาวของรายการย่อยที่อยู่ติดกันที่ยาวที่สุดที่เพิ่มขึ้น (ไม่เคร่งครัด) นั่นคือรายการย่อยที่ยาวที่สุดซึ่งแต่ละองค์ประกอบนั้นมากกว่าหรือเท่ากับครั้งสุดท้าย ตัวอย่างเช่นถ้าอินพุตคือ: [ 1 , 1 , 2 , 1 , 1 , 4 , 5 , 3 , 2 , 1 , 1 ][1,1,2,1,1,4,5,3,2,1,1][1,1,2,1,1,4,5,3,2,1,1] ที่ยาวที่สุดในการเพิ่มรายการย่อยจะดังนั้นคุณจะเอาท์พุท4[ 1 , 1 , 4 , 5 ][1,1,4,5][1,1,4,5]444 คำตอบของคุณจะได้รับคะแนนโดยนำแหล่งที่มาของมันเป็นรายการของไบต์แล้วค้นหาความยาวของรายการย่อยที่เพิ่มขึ้นที่ยาวที่สุดของรายการนั้น คะแนนที่ต่ำกว่าคือเป้าหมาย ความสัมพันธ์ระหว่างโปรแกรมต่าง ๆ มีจำนวนน้อยลงโดยรวม

3
Phonemic Abugida
ตัวละคร มาเรียกตัวอักษรยูนิโค้ดเหล่านี้ว่าตัวอักษรIPA ภาษาอังกฤษ : bdfhjklmnprstvwzðŋɡʃʒθ และลองเรียกอักษร Unicode เหล่านี้ สระ IPA ภาษาอังกฤษ : aeiouæɑɔəɛɜɪʊʌː (ใช่ːมันเป็นเพียงเสียงสระยาว แต่ถือว่าเป็นเสียงสระสำหรับจุดประสงค์ของการท้าทายนี้) ในที่สุดเหล่านี้เป็นเครื่องหมายความเครียดหลักและรอง : ˈˌ โปรดทราบว่าɡ( U + 0261 ) ไม่ใช่ตัวพิมพ์เล็ก g และเครื่องหมายเน้นหลักˈ( U + 02C8 ) ไม่ใช่เครื่องหมายอะโพสโทรฟีและː( U + 02D0 ) ไม่ใช่เครื่องหมายโคลอน งานของคุณ ให้เสียงสระซ้อนสระที่ด้านบนของพยัญชนะที่พวกเขาทำตามและวางเครื่องหมายความเครียดใต้พยัญชนะที่พวกเขานำหน้า (ในฐานะที่เป็นชื่อคำถามคำแนะนำเช่นระบบการเขียนที่ประกอบด้วยพยัญชนะสระ - เสียงสระเรียงกันเป็นหน่วยเรียกว่าabugidaเลย) รับข้อมูลˈbætəlʃɪpผลิตผลลัพธ์: æə ɪ btlʃp ˈ คำรับประกันได้ว่าจะสตริงของพยัญชนะสระและเครื่องหมายความเครียดตามที่ระบุไว้ข้างต้น จะไม่มีเครื่องหมายความเครียดติดต่อกันและพวกเขาจะถูกวางไว้ที่จุดเริ่มต้นของคำและ / หรือก่อนที่พยัญชนะ …

21
การคูณตามลำดับ
วัตถุประสงค์ของคุณคือการเขียนโปรแกรมที่รับอินพุตและเมื่อถูกล่ามโซ่ไว้ด้วยกันNเวลาจะทำการ "การคูณตามลำดับ" การคูณตามลำดับคืออะไรคุณอาจถาม มันเป็นลำดับที่มีเมล็ดaกำหนดดังนี้: f(0) = a f(n+1) = f(n)*(f(n)-1) a = 5ดังนั้นขอ ดังนั้นf(0) = 5, และf(1) = f(0)*(f(0)-1) = 5*4 = 20f(2) = f(1)*(f(1)-1) = 20*19 = 380 ถ้าโปรแกรมของคุณเป็นABCแล้วABCควรจะใช้การป้อนข้อมูลและการส่งออกa f(1)โปรแกรมABCABCควรส่งออกf(2)เป็นต้นชุดโปรแกรมของคุณควรรับข้อมูลหนึ่งครั้งและส่งออกครั้งเดียวเท่านั้น นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานถูกแบน

1
รหัสปริศนารหัส Slidey!
เป็นที่รู้จักมากที่สุดปริศนาเลื่อนเป็นปริศนาสิบห้า มันมีตาราง 4 โดย 4, 15 กระเบื้องและพื้นที่ว่างหนึ่งตาราง กระเบื้องสามารถย้ายไปยังพื้นที่ว่างได้เท่านั้นและจะต้องสอดคล้องกับตารางเสมอ ลองกำหนดตัวต่อแบบเลื่อนโดยทั่วไปเป็นWสองมิติกว้างด้วยตารางสูงH ( W , Hทั้งจำนวนเต็มบวก) ที่มีจำนวนของกระเบื้องที่ไม่มีเครื่องหมายเหมือนกันจำนวนหนึ่ง(ระหว่าง 0 ถึงW × Hของพวกเขา) ที่จัดเรียงในตาราง ไม่ว่าจะด้วยวิธีใดก็ตาม (โดยไม่ทับซ้อนกัน) ด้วยพื้นที่ตารางว่างเปล่าเติมส่วนที่เหลือของพื้นที่ ตัวอย่างเช่นถ้าWและHเป็น 3 และไทล์เป็นTและพื้นที่ว่างเป็นEหนึ่งในการจัดเรียงปริศนาเข้าข้างได้มากที่สุดคือ TTT TET EET สำหรับปริศนาเหล่านี้มี 4 ย้ายเป็นไปได้ทุกอย่างซุกขึ้น , ซุกทุกอย่างลงทุกอย่างซุกซ้ายหรือซุกทุกอย่างที่เหมาะสม 'การผลัก' ไปในทิศทางใดทิศทางหนึ่งทำให้ไพ่ทั้งหมดเดินทางไปในทิศทางนั้นไกลที่สุดเท่าที่จะเป็นไปได้จนกว่าพวกเขาจะชนกระเบื้องหรือขอบตาราง บางครั้งการผลักจะไม่เปลี่ยนเค้าโครงของกริด หากกริดตัวอย่างถูกผลักไปทางขวาผลลัพธ์จะเป็น TTT ETT EET ผลักไปทางซ้ายผลคือ TTT TTE TEE ลดผลลัพธ์ลงไปคือ EET TET TTT (สังเกตว่าทั้งคู่เคลื่อนไหวไปทางซ้ายสุดT) การเลื่อนขึ้นไม่ได้เปลี่ยนเค้าโครงตารางในกรณีนี้ …

1
เล่นกอล์ฟแถบลายควินินในภาษาต่าง ๆ
คุณจะเลือกม.ภาษาและการเขียนnโปรแกรมในแต่ละภาษาแต่ละคนมีความยาวn M * โปรแกรมk th ควรเอาต์พุตอักขระk th ของแต่ละโปรแกรมเรียงลำดับตามหมายเลขโปรแกรม ตัวอย่างเช่นในการส่งนี้ (สำหรับการสาธิตเท่านั้นพวกเขาสามารถเป็นตัวละครใด ๆ รวมถึงการขึ้นบรรทัดใหม่และแท็บ): ABC DEF GHI โปรแกรมABCควรออกADGและโปรแกรมDEFและGHIควรออกBEHและCFIตามลำดับ โปรแกรมทั้งหมดในรายการจะต้องไม่เป็น quine ปกติ ดังนั้นABCและADGจะต้องแตกต่างกัน เช่นเดียวกันกับอีกสองโปรแกรม โปรดทราบว่าn * mต้องมีอย่างน้อย 2 เพื่อให้เป็นไปได้ คุณไม่จำเป็นต้องใช้ภาษาตามลำดับที่เฉพาะเจาะจง ดังนั้นคุณสามารถเขียนโปรแกรมสองโปรแกรมในภาษา A, สามโปรแกรมในภาษา B, และอีกภาษาหนึ่งในภาษา A อีกครั้ง แต่ทุกภาษาจะต้องใช้จำนวนเท่ากันทุกประการ ขึ้นบรรทัดใหม่ / ต่อท้ายบรรทัดในโปรแกรมและผลลัพธ์ของคุณไม่สำคัญ คำตอบด้วยขั้นต่ำn (m + 10) / m 3ชนะ แต่ฉันจะให้รางวัลอย่างน้อย 100 กับคำตอบด้วยภาษาส่วนใหญ่หากใช้อย่างน้อย 3 ในนั้น …

5
ย้อนกลับรหัสของคุณย้อนกลับ OEIS
งานที่นี่คือการเขียนโปรแกรมที่ใช้จำนวนธรรมชาติ, , และสร้างคำที่ของลำดับ OEIS ลำดับนั้นควรมีตัวระบุในรูปแบบตามด้วยตัวเลข 6 ตัว ตอนนี้เมื่อคุณนำซอร์สโค้ดของคุณและกลับลำดับของไบต์เพื่อสร้างโปรแกรมใหม่โปรแกรมนั้นควรใช้ลำดับ OEIS ด้วย ลำดับใหม่ควรถูกระบุด้วยตัวเลข 6 ตัวเหมือนกันเป็นครั้งสุดท้าย แต่เรียงกลับกัน (รวมถึงศูนย์นำหน้า)nnnnnnAA ทีนี้เพื่อป้องกันไม่ให้สิ่งเล็ก ๆ น้อย ๆ ทั้งเลขตัว OEIS และโปรแกรมของคุณไม่สามารถเป็น palindromes นั่นคือลำดับและโปรแกรมควรแตกต่างกัน คุณไม่สามารถเลือกลำดับที่ไม่มีการย้อนกลับหรือว่างเปล่า สำหรับแต่ละลำดับของคุณคุณอาจเลือกที่จะใช้การจัดทำดัชนี 0 หรือ 1 พวกเขาไม่จำเป็นต้องใช้การจัดทำดัชนีเดียวกัน เนื่องจากลำดับของ OEIS บางตัวมีโดเมนที่ จำกัด คุณจึงต้องส่งออกเฉพาะหมายเลขที่ถูกต้องสำหรับโดเมนของลำดับนั้น พฤติกรรมที่ต้องการของคุณนั้นไม่ได้กำหนดนอกโดเมน (คุณสามารถส่งออก0, ขัดข้อง, สั่งพิซซ่า ฯลฯ ) นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า

9
ทุกคนควรมีเพื่อน
อักขระที่แยกได้คืออักขระ (นอกเหนือจากบรรทัดใหม่) ที่ไม่มีอักขระที่อยู่ติดกันประเภทเดียวกัน อักขระที่อยู่ติดกันสามารถอยู่ทางซ้ายขวาด้านบนหรือด้านล่าง แต่ไม่ใช่ diagonals ตัวอย่างเช่นในข้อความต่อไปนี้Hถูกแยก: Ybb YH% %%%% อักขระอื่น ๆ ทั้งหมดไม่ได้แยกออกจากกันเพราะอักขระแต่ละตัวมีอักขระอื่นอย่างน้อยหนึ่งตัวที่อยู่ติดกัน งานของคุณคือการเขียนโปรแกรมที่รับสตริงเป็นอินพุตและกำหนดจำนวนอักขระที่แยกได้ เกณฑ์การให้คะแนน คำตอบของคุณจะได้คะแนนสองตัวชี้วัด ตัวแรกคือจำนวนอักขระที่แยกได้ในโปรแกรมของคุณ คุณควรตั้งเป้าหมายที่จะย่อให้เล็กสุดนี้ ที่สองจะเป็นจำนวนไบต์ในโปรแกรมของคุณ คุณควรย่อให้เล็กสุดเช่นกัน ขนาดโปรแกรมจะทำหน้าที่เป็นตัวแบ่งไทร์สำหรับเกณฑ์แรก กฎเพิ่มเติม คุณควรสนับสนุนอินพุตในช่วง ascii ที่พิมพ์ได้รวมถึงอักขระใด ๆ ที่คุณใช้ในโปรแกรมของคุณ คุณอาจพิจารณาว่าตัวแบ่งบรรทัดเป็นอักขระขึ้นบรรทัดใหม่หรือขึ้นบรรทัดใหม่ตามด้วยตัวดึงข้อมูลบรรทัด คุณสามารถป้อนข้อมูลในรูปแบบที่เหมาะสม ซึ่งรวมถึงรายการของเส้น กรณีทดสอบ Ybb YH% %%%% 111 Aaaab uuu yyybbb 222 A 111 qqWWaaww 000

2
ช่วงเวลาที่ถูกต้องและไม่ถูกหลอก
ขวา truncatable สำคัญเป็นสำคัญที่ทุกคำนำหน้าเป็นนายก (ฐาน 10) ก ซ้าย truncatable สำคัญคือตรงข้ามที่ทุก postfix เป็นนายก (ช่วงเวลาที่เริ่มต้นด้วย 0 ไม่ได้รับอนุญาต) ทั้งสองลำดับนี้มี จำกัด (มีเพียง 83 truncatables ขวาในขณะที่มี 4260 truncatables ซ้าย) คุณจำเป็นต้องเขียนโปรแกรมที่รับหมายเลขเดียวเป็นอินพุตและสร้างไพรม์ที่ไม่สามารถเปลี่ยนตำแหน่งได้ครั้งที่n อย่างไรก็ตามเมื่อโปรแกรมถูกอ่านจัดเรียงไว้ด้านหลังมันควรจะสร้างไพร์มทรัซต์ที่อยู่ทางซ้ายที่n ในการจัดเรียงโปรแกรมถอยหลังเราแบ่งโปรแกรมเป็นคำจากนั้นเรียงลำดับคำกลับรายการ คำสามารถประกอบด้วยอักขระจำนวนเท่าใดก็ได้ ตัวอย่างเช่นหากต่อไปนี้เป็นโปรแกรมของคุณ: hello world 1234567890 ทั้งหมดต่อไปนี้จะได้รับอนุญาตเป็นการจัดการที่เป็นไปได้ย้อนหลัง: แยกตัวละครแต่ละตัว: 0987654321 dlrow olleh แยกบนช่องว่าง: 1234567890 world hello แยกโดยพล (ท่อเพิ่มเพื่อความชัดเจน): hel|lo w|orld 1|23456|7|8|90 908723456orld 1lo whel เมื่อจัดเรียงโปรแกรมของคุณย้อนหลังช่องว่างทั้งหมดจะต้องได้รับการพิจารณาและย้อนกลับเช่นเดียวกับตัวละครอื่น ๆ …


6
โปรแกรมกระดานหมากรุกรูปสามเหลี่ยมที่ตรวจสอบตัวเอง
โปรแกรมกระดานหมากรุกเป็นโปรแกรมที่ค่าลำดับของตัวละครแต่ละตัวจะเปลี่ยนจากคู่ไปเป็นคี่โดยไม่รวมตัวยุติบรรทัด (ซึ่งอาจเป็นจุดสิ้นสุดบรรทัดมาตรฐาน) โปรแกรมรูปสามเหลี่ยมเป็นโปรแกรมที่แต่ละบรรทัดมีหนึ่งอักขระเพิ่มเติมนอกเหนือจากบรรทัดก่อนหน้าโดยที่บรรทัดแรกจะมีหนึ่งอักขระ คุณไม่จำเป็นต้องจัดการอินพุตว่าง งานของคุณคือการสร้างโปรแกรมที่ตรวจสอบว่าข้อมูลที่กำหนดให้เป็นไปตามเกณฑ์เหล่านั้นและเอาท์พุท / ส่งกลับบางสิ่งที่เป็นจริงถ้าโปรแกรมตรงตามเกณฑ์หรือบางสิ่งบางอย่างผิดพลาด โปรแกรมของคุณจะต้องตรงตามเกณฑ์เหล่านี้ ตัวอย่างของโปรแกรมที่ถูกต้อง G `e @u^ 5r{B ^ cB +$C VA01 กฎระเบียบ โปรแกรมของคุณอาจเริ่มต้นด้วยคี่หรือไบต์คู่ตราบใดที่พาริตี้ของอักขระสลับกัน โปรแกรมของคุณต้องตรวจสอบโปรแกรมที่เริ่มต้นด้วยตัวอักษรคี่หรือคู่ สำหรับอักขระยูนิโค้ดค่าไบต์พื้นฐานจะต้องมีการสลับพาริตี คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นมีอักขระที่พิมพ์ได้เท่านั้น หากโปรแกรมของคุณมี unprintables ก็ควรจะตรวจสอบตัวเอง โปรแกรมของคุณอาจมีการขึ้นบรรทัดใหม่หนึ่งบรรทัดซึ่งไม่จำเป็นต้องได้รับอนุญาตจากการตรวจสอบของคุณเนื่องจากคุณสามารถสันนิษฐานได้ว่าสิ่งนี้จะถูกลบก่อนที่จะทำการตรวจสอบ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม รหัสสั้นที่สุดเป็นไบต์ในแต่ละภาษาชนะ

11
N คูณโปรแกรมสำหรับหมายเลข N-th
ให้อาร์เรย์ของจำนวนเต็มบวกAเป็นอินพุตสร้างโปรแกรมที่เมื่อทำซ้ำหลายkครั้งให้ส่งออกค่าkth (1-index) ของอาร์เรย์ ตัวอย่างเช่นถ้าอาร์เรย์เป็น[1,11]ผลผลิตที่ควรจะเป็นโปรแกรมที่เอาท์พุทและเมื่อซ้ำกันสองครั้งเอาท์พุท1 11โค้ดเช่นเดียวกับprint(end="1");Python 3 ใช้งานได้: print(end="1");พิมพ์ 1 และprint(end="1");print(end="1");พิมพ์ 11 ผลรวมขนาดเล็กที่สุดของความยาวรหัสเพื่อแก้ปัญหากรณีทดสอบทั้งหมดชนะ รหัสเมตาของคุณควรแก้ไข 500 กรณีทดสอบใน 60 วินาทีและรหัสโซลูชันของคุณแต่ละรายการควรกลับมาเป็น 10 วินาที รหัส Meta และรหัสโซลูชันไม่จำเป็นต้องเป็นภาษาเดียวกัน แต่โซลูชันทั้งหมดที่โปรแกรมเมตาที่คุณสร้างขึ้นควรเป็นภาษาเดียวกัน สามารถดูข้อมูลและตัวกำเนิดล่วงหน้าได้ที่นี่ 7 วันต่อมาจะใช้เวลารวมของการส่ง (เช่น 12:34 หมายถึง 1234) เพื่อเป็นเมล็ดสุ่มและสร้างกรณีทดสอบอื่นเป็นกรณีทดสอบสุดท้าย เมล็ดสุดท้ายคือ 7335 ใน GMT + 8 ดังนั้นข้อมูลการทดสอบขั้นสุดท้ายอยู่ที่นี่

5
มันเป็นแอนนาแกรมควินไม่ใช่แค่ควิน!
งาน ในความท้าทายนี้งานของคุณคือการเขียนโปรแกรมซึ่งไม่ต้องป้อนข้อมูลด้วยแอนนาแกรมที่มีจำนวนมากที่สุดเท่าที่จะทำได้ คะแนนของคุณจะเป็นจำนวนแอนนาแกรมของซอร์สโค้ดของโปรแกรมของคุณซึ่งเป็น quines ที่ถูกต้องหารด้วยจำนวนทั้งหมดของแอนนาแกรมที่เป็นไปได้เช่นเปอร์เซ็นต์ของแอนะล็อกที่เป็น quines ที่ถูกต้อง ช่องโหว่มาตรฐานและกฎของ quines มาตรฐานใช้ หมายเหตุ:โปรแกรมของคุณต้องมีอักขระอย่างน้อย 3 ตัว (ไม่ใช่ 3 ไบต์) อินพุต แต่ละแอนนาแกรม (หรือการเปลี่ยนแปลง) ของโปรแกรมของคุณซึ่งเป็นควินของตัวเอง (เช่นแอนนาแกรมที่คุณรวมอยู่ในคะแนนของคุณ) จะต้องไม่นำเข้าใด ๆ หากภาษาของคุณต้องการการป้อนข้อมูลตามความจำเป็นคุณสามารถสมมติได้ว่าโปรแกรมของคุณจะได้รับสตริงที่ประกอบด้วยตัวอักษรตัวเล็ก A อย่างไรก็ตามคุณจะต้องไม่ใช้ข้อมูลใด ๆ เอาท์พุต nจำนวนแอนนาแกรมที่แตกต่างกันของซอร์สโค้ดของโปรแกรมของคุณจะต้องเป็น quines ที่ถูกต้องโดยnแสดงถึงจำนวนของแอนนาแกรมที่คุณรวมอยู่ในคะแนนของคุณเช่น quine-anagarams เหล่านั้นสามารถส่งออกในทางใดทางหนึ่งยกเว้นการเขียนผลลัพธ์ไปยังตัวแปร อนุญาตให้เขียนไฟล์คอนโซลหน้าจอและอื่น ๆ ได้ ฟังก์ชั่นreturnได้รับอนุญาตเช่นกัน ตัวอย่างการให้คะแนน codeสมมติว่ารหัสที่มาของโปรแกรมคือ และ, codecodeเอาท์พุท coedcoedเอาท์พุท cdoecdoeเอาท์พุท cdeocdeoเอาท์พุท cedocedoเอาท์พุท ceodceodเอาท์พุท ocdeocdeเอาท์พุท ocedocedเอาท์พุท odceodceเอาท์พุท odecไม่ส่งออกodecหรือสร้างข้อผิดพลาด …

2
การรับรู้ตำแหน่ง
การรับรู้ตำแหน่ง งานของคุณคือการสร้างโปรแกรมที่สำหรับการเปลี่ยนแปลงตัวละครทุกตัว (ซึ่งรวมถึงโปรแกรมต้นฉบับ) ผลลัพธ์ของตำแหน่งของตัวละครทุกตัวที่สัมพันธ์กับโปรแกรมต้นฉบับ หากโปรแกรมของคุณคือ Derp คุณต้องส่งออก [0, 1, 2, 3] (หรือเทียบเท่าบางส่วน) นี้เป็นเพราะDอยู่ใน0ตำแหน่ง, th eอยู่ใน1St, การวิจัย2ครั้งและถp3 ลองอีกโปรแกรมหนึ่งซึ่งเป็นโปรแกรมดั้งเดิม แต่ด้วยตัวอักษรที่อนุญาต: epDr คุณต้องส่งออก [1, 3, 0, 2] เพราะeอยู่ใน1ตำแหน่ง ST ของโปรแกรมเดิมที่pอยู่ใน3ตำแหน่งถ, th และครั้งD0r2 หากโปรแกรมดั้งเดิมมีอักขระซ้ำสองตัว: abcda -> [0, 1, 2, 3, 4] จากนั้นสำหรับการเรียงสับเปลี่ยน, 0และ4ในแถวลำดับจะต้องเรียงลำดับจากน้อยไปมาก: baadc -> [1, 0, 4, 3, 2] (0 first, then 4) …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.