คำถามติดแท็ก stateful

ความท้าทายเกี่ยวกับพฤติกรรมที่ขึ้นอยู่กับการเรียกใช้โซลูชันก่อนหน้านี้

30
รหัสที่จะดำเนินการเพียงครั้งเดียว
เป้าหมาย เป้าหมายของการท้าทายนี้คือการเขียนโค้ดที่จะทำงานครั้งเดียวและครั้งเดียว ซึ่งหมายความว่าโดยทั่วไปแล้วจะทำให้โปรแกรมสคริปต์หรือสภาพแวดล้อมเสียหายในบางวิธี หากรีบูตระบบอนุญาตให้โค้ดรันอีกครั้งที่ได้รับอนุญาต เกณฑ์การให้คะแนน จำนวนโหวต สมมติฐานทั้งหมดจะต้องระบุไว้อย่างชัดเจน คำตอบใด ๆ ที่เพิ่งเริ่มต้นการรีบูตหรือหยุดจะถูกตัดสิทธิ์ กฎเพิ่มเติมเนื่องจาก Greg Hewgill เป็นปีศาจ ไม่อนุญาตการเข้าถึงรูท วันที่สิ้นสุด การประกวดจะปิดในวันที่ 31 พฤษภาคม 2014 แก้ไข การประกวดนี้ได้ถูกเปลี่ยนเป็นการประกวดความนิยม

10
เทียนน้อยเป็นเรื่องน่าเศร้า วาดเขาเป็นก้อนเมฆเพื่อให้กำลังใจเขา
เทียนน้อยเป็นเรื่องน่าเศร้า วาดเขาเป็นก้อนเมฆเพื่อให้กำลังใจเขา หมายเหตุ: การวาดภาพบนคลาวด์จะไม่ทำให้เขามีกำลังใจ วงกลมสามารถนิยามเป็น 3-tuple (x,y,r)โดยที่xตำแหน่ง x ของวงกลมบนระนาบคาร์ทีเซียนyคือตำแหน่ง y ของวงกลมบนระนาบคาร์ทีเซียนและrเป็นรัศมีของวงกลม xและyอาจเป็นลบ rเป็นบวกเสมอ อินพุตเป็นรายการของวงกลมในรูปแบบของช่องว่างคั่น 3-tuples ตัวอย่างเช่น 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 3,1,1หมายถึง "วงกลมที่มีจุดศูนย์ที่3,11 รัศมี. 3,2,1.5หมายความว่า" วงกลมที่มีจุดศูนย์กลางที่ A 3,2พร้อมกับ 1.5 รัศมี หากเราวาดวงกลมทั้งหมดของอินพุตบนกราฟดูเหมือนว่านี้ (ฉันได้รวมเส้นกริดและป้ายกำกับเพื่อความชัดเจนเท่านั้นพวกเขาไม่จำเป็นต้องใช้): สังเกตว่าวงกลมทั้งหมดกลมกลืนกันอย่างไร นั่นคือพวกเขาทั้งหมดซ้อนทับกันเพื่อให้เกิดกลุ่มใหญ่กลุ่มหนึ่งโดยไม่มีกลุ่มวงกลมเล็ก ๆ แยกออกจากส่วนที่เหลือ อินพุตรับประกันว่าจะเหนียวแน่น สมมติว่าตอนนี้เราวาดเส้นที่เดินทางรอบ "เส้นขอบ" ที่เกิดจากวงกลมเหล่านี้โดยไม่มีเส้นอื่นใด มันจะเหมือนกับการวาดเส้นขอบของเงาที่เกิดจากวงกลมทั้งหมด เมฆที่เกิดขึ้นจะมีลักษณะเช่นนี้: ดังนั้นคลาวด์นี้จึงถูกสร้างขึ้นโดยการวาดเฉพาะส่วนโค้งของวงกลมในอินพุตที่ก่อตัวเป็นเส้นขอบ กล่าวอีกนัยหนึ่งระบบคลาวด์เกิดจากการวาดส่วนโค้งที่ไม่ได้อยู่ในวงกลมอื่น โปรแกรมของคุณจะป้อนข้อมูลในแบบฟอร์มที่อธิบายข้างต้นและส่งภาพที่แสดงคลาวด์ที่เกิดขึ้น รูปร่างโดยรวมของคลาวด์จะต้องถูกต้อง แต่ขนาดสีความหนาของเส้นและลักษณะของจุดยอดนั้นขึ้นอยู่กับคุณ โปรดทราบว่าคลาวด์ต้องสามารถมองเห็นได้ดังนั้นคุณไม่สามารถดึงบางสิ่งบางอย่างเช่น "โปรแกรมนี้วาดคลาวด์สีขาวบนพื้นหลังสีขาว", "โปรแกรมนี้วาดคลาวด์ในระดับที่เล็กที่สุด", …

30
การต่อท้ายความยาวสตริง
ท้าทาย: กำหนดสตริงsตัวอักษรa- z, A- Z, 0- 9ผนวกความยาวของsตัวเองนับตัวอักษรเพิ่มเติม (s) sมีความยาวเป็นส่วนหนึ่งของความยาวทั้งหมดของ การป้อนข้อมูล: เพียงสตริงที่มีความยาวโดยพลการ (ว่างเปล่า) เอาท์พุท: สตริงเดียวกัน แต่มีความยาวต่อท้าย ควรนับอักขระที่แสดงความยาวเป็นส่วนหนึ่งของความยาว ในกรณีที่มีความยาวที่ถูกต้องจำนวนมากเพื่อต่อท้ายเลือกขนาดที่เล็กที่สุดที่เป็นไปได้ (ดูตัวอย่างกรณีทดสอบ) กรณีทดสอบ: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

30
รหัสที่สั้นที่สุดในภาษาของคุณเพื่อคงสตริงไว้ในการรีบูต
โปรแกรมของคุณ: คุณจะเขียนสองโปรแกรม (ทั้งในภาษาเดียวกัน) โปรแกรมหน่วยเก็บใช้สตริงจาก STDIN และเก็บไว้ที่ไหนสักแห่งถาวร (ดูด้านล่าง) แล้วออกโดยไม่มีข้อผิดพลาด โปรแกรมดึงข้อมูลไม่มีการป้อนข้อมูลดึงสายอักขระที่เก็บไว้และพิมพ์ลงใน STDOUT วัตถุประสงค์ของการทดสอบความคงทน: คุณควรจะสามารถเรียกใช้โปรแกรมจัดเก็บข้อมูลในเครื่องท้องถิ่นของคุณจากนั้นหมุนเวียนรอบเครื่องท้องถิ่นของคุณแล้วเรียกโปรแกรมเรียกคืนจากเครื่องท้องถิ่นของคุณ คุณสามารถซ่อนสตริงได้ตามต้องการ (แม้กระทั่งบนเว็บ) ตราบใดที่คุณผ่านการทดสอบการรีบูต กรณีทดสอบ: การจัดเก็บข้อมูลแล้วดึง: echo foo | Store Retrieve foo ร้านค้าซ้ำควรเขียนทับ (เช่นวิธี set ()): echo foo | Store echo bar | Store Retrieve bar การเรียกคืนซ้ำแล้วซ้ำอีกเป็นวิธีที่ไม่ทำลาย (เช่นวิธี get ()): echo foo | Store Retrieve foo Retrieve foo ดึงข้อมูลก่อนการเรียกใช้หน่วยเก็บข้อมูลใด …

30
3 … 2 … 1 …ล้มเหลว!
งานของคุณคือการเขียนโปรแกรมเต็มรูปแบบที่จะนับต่อจาก 10 ทุกครั้งที่ทำงาน 10ครั้งแรกที่คุณเรียกใช้โปรแกรมก็ควรพิมพ์ 9ครั้งต่อไปก็ควรเอาท์พุท ในครั้งต่อไปก็ควรเอาท์พุท8และอื่น ๆ แทนที่จะทำการพิมพ์0โปรแกรมควรจะล้มเหลว คุณไม่ต้องจัดการกับโปรแกรมที่รันอีกครั้งหลังจากนั้น สิ่งอำนวยความสะดวกใด ๆ ที่ใช้สำหรับการจัดเก็บอาจสันนิษฐานว่าว่างเปล่าก่อนที่จะเรียกใช้โปรแกรมครั้งแรก นี่คือตัวอย่างการใช้งานใน Python 3: try:f=open("a","r+");v=int(f.read()) except:f=open("a","w");v=10 1/v print(v) f.seek(0) f.write(str(v-1)) นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (วัดเป็นไบต์) ชนะ

30
สามเหลี่ยม ASCII
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์รูปสามเหลี่ยม ASCII พวกเขามีลักษณะเช่นนี้: |\ | \ | \ ---- โปรแกรมของคุณจะมีการป้อนข้อมูลที่เป็นตัวเลขเดียวกับข้อ จำกัดn สามเหลี่ยมดังกล่าวข้างต้นมีมูลค่าของ0 <= n <= 1000n=3 สามเหลี่ยม ASCII จะมีnแบ็กสแลช ( \) และบาร์แนวตั้ง ( |), n+1เส้นและขีดกลาง ( -) และแต่ละบรรทัดจะมีจำนวนช่องว่างเท่ากับหมายเลขบรรทัด (อิงตาม 0, คือบรรทัดแรกคือบรรทัดที่ 0) นอกเหนือจากบรรทัดสุดท้าย . ตัวอย่าง: การป้อนข้อมูล: 4 เอาท์พุท: |\ | \ | \ | \ ----- การป้อนข้อมูล: 0 เอาท์พุท: ในกรณีทดสอบนี้ผลลัพธ์จะต้องว่างเปล่า …
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

9
Quine ที่เพิ่มขึ้น
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกอักขระตัวแรกของซอร์สโค้ดของมันแล้วตัวที่สองจากนั้นก็ตัวที่สาม ... ในแต่ละครั้งที่มันถูกเรียกใช้ ตัวอย่างเช่นหากโปรแกรมของคุณเป็นfooภาษาbarในไฟล์baz.barคุณควรจะได้ผลลัพธ์ที่คล้ายกับนี้: λ bar baz.bar f λ bar baz.bar o λ bar baz.bar o โปรแกรมของคุณสามารถทำอะไรก็ได้เมื่อพิมพ์ซอร์สโค้ดเสร็จแล้ว คุณสามารถแก้ไขซอร์สโค้ดสำหรับไฟล์ได้ แต่จำไว้ว่าซอร์สโค้ดที่จะพิมพ์นั้นเป็นซอร์สโค้ดต้นฉบับ นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ

15
พูดตามฉัน!
รับสตริงเป็นอาร์กิวเมนต์ส่งออกความยาวของสตริงย่อยที่ซ้ำกันที่ยาวที่สุดที่ไม่ซ้ำซ้อนกันหรือศูนย์หากไม่มีสตริงดังกล่าว คุณสามารถสมมติว่าสตริงอินพุตไม่ว่างเปล่า ตัวอย่าง abcdefabc: ซับสตริงabcซ้ำที่ตำแหน่ง 1 และ 7 ดังนั้นโปรแกรมควรเอาต์พุต3 abcabcabcabcab: abcabcหรือbcabcaหรือcabcabมีการทำซ้ำเพื่อให้โปรแกรมควรเอาท์พุท6 (สตริงย่อยabcabcabcabซ้ำแล้วซ้ำอีก แต่เหตุการณ์ที่เกิดขึ้นทับซ้อนกันดังนั้นเราจึงไม่ยอมรับมัน) aaaaaaa: aaaถูกทำซ้ำที่ตำแหน่ง 1 และ 4 ตัวอย่างเช่นดังนั้นโปรแกรมควรเอาต์พุต3 abcda: aซ้ำแล้วซ้ำอีกดังนั้นโปรแกรมควรจะออก1 xyz: ไม่มีสตริงซ้ำแล้วซ้ำอีก→ 0 ababcabcabcabcab: ควรกลับ6 นี่คือโค้ดกอล์ฟซึ่งมีจำนวนน้อยที่สุดที่จะชนะ
23 code-golf  string  code-golf  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  hexadecimal  code-golf  code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

6
บันทึกความลับของฉัน!
ฉันมีความลับมากมายและไม่มีที่ให้พวกเขาอยู่! เป้าหมายคือง่าย: เขียนโปรแกรมที่ช่วยให้คุณบันทึกสตริงและมีการป้องกันด้วยรหัสผ่าน โปรแกรมจะใช้นามแฝงรหัสผ่านและความลับ (ไม่จำเป็น) เป็นพารามิเตอร์ หากนี่เป็นครั้งแรกที่โปรแกรมถูกเรียกด้วยนามแฝงที่กำหนดมันจะจัดเก็บ / จดจำความลับและส่งออกสิ่งที่คุณต้องการ หากโปรแกรมถูกเรียกใช้ด้วยนามแฝงที่เคยใช้มาก่อนมันจะส่งข้อมูลลับสำหรับนามแฝงนั้นหากรหัสผ่านนั้นเป็นรหัสเดียวกันกับครั้งแรกที่โปรแกรมถูกเรียกใช้ด้วยนามแฝงนั้น กรณีอื่น ๆ ถ้ามันเป็นครั้งแรกที่ถูกเรียกด้วยนามแฝงบางอย่างและไม่มีความลับให้ - เก็บอะไร หากโปรแกรมถูกเรียกใช้พร้อมนามแฝงที่ใช้งานและรหัสผ่านไม่ถูกต้อง - ส่งคืนข้อผิดพลาดใด ๆ หรือไม่มีอะไรเลย หากโปรแกรมถูกเรียกด้วยนามแฝงที่ใช้รหัสผ่านนั้นถูกต้องและเป็นความลับใหม่ให้ - ส่งออกความลับเก่าและแทนที่ด้วยความลับใหม่ดังนั้นในครั้งต่อไปเฉพาะความลับใหม่จะถูกส่งออก หากโปรแกรมถูกเรียกใช้พร้อมนามแฝงที่ใช้รหัสผ่านนั้นถูกต้องและไม่มีการให้ความลับใหม่ - ส่งความลับเก่าและตรวจสอบให้แน่ใจว่าจะไม่ถูกแทนที่ หมายเหตุ: ความลับ / รหัสผ่านเหล่านี้ไม่จำเป็นต้องจัดเก็บอย่างปลอดภัย โปรดทราบว่า: ควรยอมรับการป้อนตัวอักษรและตัวเลขสำหรับรหัสผ่านและชื่อแทนใด ๆ ใช้กฎมาตรฐานโชคดี!

12
บอทอวยพรสำหรับเพื่อนร่วมงานจากการทำงาน
ฉันมีเพื่อนร่วมงานที่ทำงานที่บ้านทุกวันอังคารและวันพฤหัสบดี เมื่อเวลาประมาณ 8:00 น. เขาส่งข้อความพร้อมข้อความต่อไปนี้ถึงเรา: สวัสดีวันนี้ฉันทำงานจากที่บ้าน เพื่อบรรเทาเขาจากภาระในการทำเช่นนี้ทุกวันที่เขาอยู่บ้านเราต้องการทำงานนี้ให้เขาโดยอัตโนมัติ ความท้าทาย เขียนเป็นส่วนน้อยของรหัสที่: รับเวลาปัจจุบัน: รหัสของคุณอาจรับค่าสำหรับปีปัจจุบันเดือน (1-12) วันเดือน (1-31) ชั่วโมง (0-23) และนาที (0-59) และวันในสัปดาห์ (คุณสามารถเลือกได้ว่าหมายเลขนี้จะเริ่มต้นจาก 0 หรือ 1 และถ้า 0/1 หมายถึงวันอาทิตย์วันจันทร์หรือวันอื่น ๆ ) ฉะนั้นคุณอาจได้รับโครงสร้างเช่นDate, DateTime, Calendarหรือโครงสร้างเวลาอื่น ๆ ที่เกี่ยวข้องถ้าภาษาของคุณให้มัน นอกจากนี้คุณยังสามารถรับสตริงที่มีวันที่yyyyMMddHHmmหากคุณต้องการหรือสองสตริงแยกกันสำหรับวันที่และเวลาแล้วจำนวนเต็มกับวันของสัปดาห์ ตามสบาย. ส่งคืนค่าความจริงและค่าเท็จที่สอดคล้องกันสองค่าซึ่งระบุว่าจะต้องส่งข้อความไปยังแชทที่ทำงานหรือไม่ กฎระเบียบ โค้ดส่วนนี้จะถูกเรียกใช้เป็นระยะ ระยะเวลาที่แน่นอนจะไม่เกี่ยวข้องอย่างไรก็ตาม ต้องส่งคืนค่าความจริงหากวันในสัปดาห์คือวันอังคารหรือวันพฤหัสบดีและเวลาคือ 8:00 น. โดยมีระยะเวลาข้อผิดพลาด 10 นาที (ตั้งแต่ 7:50 ถึง 8:10 น.) …

13
รหัสการแก้ไขตัวเองอย่างถาวร
ตอนนี้เราทุกคนรู้ว่าภาษาส่วนใหญ่มีวิธีง่าย ๆ ในการ "แก้ไขตัวเอง" รหัส อย่างไรก็ตามจะเกิดอะไรขึ้นถ้าคุณต้องแก้ไขรหัสและแก้ไขบางส่วน ... บนดิสก์ เป้าหมายของคุณคือการสร้างรหัสที่พิมพ์ตัวเลขจากนั้นแก้ไขไฟล์ของตัวเองเพื่อแทนที่ตัวเลขด้วยหมายเลขถัดไปในลำดับฟีโบนักชีดังนี้: $ ./program 1 $ ./program 1 $ ./program 2 $ ./program 3 $ ./program 5 [etc...] กฎระเบียบ คุณไม่สามารถจัดเก็บหมายเลข "นอก" ของรหัสได้ ไม่มีความคิดเห็นไม่บอกสคริปต์ให้ออกไม่มี EOF ฯลฯ หากรหัสของคุณทำงานกับชื่อไฟล์ใด ๆ ให้ลบ 2 จากจำนวนไบต์และเขียน$BYTESNOW ($ORIGINALBYTES - 2)ชื่อของคุณ (ชื่อไฟล์จะถือว่าอยู่ในช่วงของพา ธ ไฟล์ตัวอักษรและตัวเลขใด ๆ ) รหัสของคุณจะต้องเขียนผลลัพธ์ไปยังไฟล์ด้วยตัวมันเองโดยไม่ต้องมีการช่วยเหลือจากภายนอก รหัสของคุณสามารถเริ่มจากหนึ่งหรือศูนย์ มันไม่สำคัญ

4
มีอินสแตนซ์กำลังทำงานกี่อินสแตนซ์
เขียนโปรแกรมที่ทำงานอยู่เรื่อย ๆ เพื่อรายงานจำนวนอินสแตนซ์ของตัวเองที่กำลังทำงานอยู่ แต่ละอินสแตนซ์ของโปรแกรมควรรายงานลำดับที่เปิดจากอินสแตนซ์ที่กำลังทำงานอยู่ทั้งหมด ตัวอย่าง ผู้ใช้เปิดตัวโปรแกรมเป็นครั้งแรก - เราจะเรียกอินสแตนซ์นี้ว่า 1 อินสแตนซ์ 1 แสดง1/1เนื่องจากเป็นอินสแตนซ์แรกที่เปิดใช้จากอินสแตนซ์ที่กำลังทำงานอยู่ทั้งหมด1อินสแตนซ์ ในขณะที่อินสแตนซ์ 1 กำลังทำงานผู้ใช้จะเรียกใช้โปรแกรมเป็นครั้งที่สองเพื่อกลายเป็นอินสแตนซ์ 2 ตอนนี้อินสแตนซ์ 1 จะปรากฏขึ้น1/2โดยเป็นอินสแตนซ์แรกจากทั้งหมด2อินสแตนซ์ที่กำลังทำงานอยู่ อินสแตนซ์ 2 แสดงขึ้น2/2เนื่องจากเป็นอินสแตนซ์ที่สองจากทั้งหมด2อินสแตนซ์ที่กำลังทำงานอยู่ สมมติว่าผู้ใช้ยังคงวางไข่เพิ่มเติมจนกว่าจะมี5คน 1/5 2/5 3/5 4/5 5/5ในคำสั่งของการเปิดตัวเอาท์พุทของพวกเขาคือ ตอนนี้ขอบอกว่าผู้ใช้ตัดสินใจที่จะยุติอินสแตนซ์ 3. อินสแตนซ์ 4 แล้วจะกลายเป็นอินสแตนซ์ใหม่ 3 และอินสแตนซ์ 5 อินสแตนซ์ใหม่ 4 เพราะพวกเขาเป็นลำดับที่สามและสี่กรณีที่จะมีการเปิดตัวออกมาจากสิ่งที่มีอยู่ในขณะนี้มีทั้งหมด4ตัวอย่าง. ดังนั้นการเปลี่ยนแปลงของแต่ละอินสแตนซ์จะเป็นดังนี้: 1/5 → 1/4 2/5 → 2/4 3/5 → (ยกเลิก) 4/5 …

4
Entine Quine!
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่ง: เมื่อรันเป็นครั้งแรกเอาต์พุตของซอร์สโค้ด ในการประมวลผลครั้งต่อไปมันควรจะเอาท์พุทสิ่งที่มันก่อนหน้านี้ แต่มีการเปลี่ยนแปลงตัวละครแบบสุ่มหนึ่งตัว (กำหนดไว้ด้านล่าง) ไม่จำเป็นต้องเป็นการเปลี่ยนแปลงแบบสุ่มอย่างสม่ำเสมอ แต่การเปลี่ยนแปลงที่เป็นไปได้ทุกครั้งควรมีโอกาสที่ไม่เกิดขึ้น หลังจากการดำเนินการครั้งแรกโปรแกรมของคุณจะไม่เป็น quine อีกต่อไป ผลลัพธ์จะมีการเปลี่ยนแปลง (และโปรแกรมมีอิสระที่จะแก้ไขตัวเองเช่นกัน) ตัวอย่างเช่นหากควินินของคุณABCDทำงานซ้ำ ๆ มันอาจพิมพ์: ABCD A!CD j!CD j!CjD ข้อมูลจำเพาะ การเปลี่ยนแปลงตัวละครอย่างใดอย่างหนึ่ง: การแทรกตัวอักษรแบบสุ่ม การลบอักขระแบบสุ่มหรือ การแทนที่อักขระด้วยอักขระสุ่มใหม่ โปรดทราบว่าตัวละครใหม่นั้นจะได้รับอนุญาตให้เป็นตัวละครตัวใหม่ที่เข้ามาแทนที่ซึ่งในกรณีนี้จะไม่มีการเปลี่ยนแปลงใด ๆ แน่นอนการลบหรือแทนที่อักขระจากสตริงว่างไม่ใช่การเปลี่ยนแปลงที่ถูกต้อง แม้จะเป็นการแท็กควินินกฎการอ่านซอร์สโค้ดของคุณก็ไม่ได้นำมาใช้ คุณสามารถใช้ชุดอักขระใดก็ได้ตราบใดที่มีอักขระที่ใช้ในซอร์สโค้ดของคุณ

5
เกาะลิง: หัวหน้านักเดินเรือ
คำเตือน:ความท้าทายนี้มีสปอยเลอร์อ่อน ๆ สำหรับความลับของเกาะลิง ในตอนท้ายของเกมคุณจะถูกนำผ่านสุสานโดยหัวหน้านักเดินเรือที่ได้รับการเก็บรักษาไว้อย่างน่าอัศจรรย์: คุณต้องการสร้อยคอลูกตา แต่หัวหน้าไม่เต็มใจที่จะมอบให้กับคุณ วิธีหนึ่งที่จะได้รับมันเป็นเพียงการขอทาน: Guybrush:ฉันขอสร้อยคออันนั้นได้ไหม หัวหน้า:ไม่ แต่ขอบคุณที่ถามอย่างสุภาพ กีย์บุช:โอ้มาแล้วยินดีไหม? หัวหน้า:คุณสามารถขอทุกสิ่งที่คุณต้องการ แต่คุณไม่มีมัน Guybrush: ได้ไหม หัวหน้า:คุณสามารถขอทุกสิ่งที่คุณต้องการ แต่คุณไม่มีมัน Guybrush:พริตตี้สวยได้ไหม หัวหน้า:คุณสามารถขอทุกสิ่งที่คุณต้องการ แต่คุณไม่มีมัน กีย์บุช: ได้โปรดน้ำตาลใส่ด้านบน? หัวหน้า:โอใช่คุณเป็นเด็กตัวใหญ่ คุณสามารถมีมัน เฮ้อะไรเป็นสร้อยคอถ้าคุณไม่มีไหล่? ความท้าทาย เขียนโปรแกรมเต็มรูปแบบซึ่งพิมพ์บทสนทนาข้างต้น จับคือทุกครั้งที่โปรแกรมถูกเรียกว่าควรพิมพ์สองบรรทัดเท่านั้น (หนึ่งคำขอร้องโดย Guybrush และการตอบสนองของหัวหน้า) เช่นถ้าการส่งของคุณเขียนเป็น Python การใช้งานควรเป็นดังนี้: $> python please.py Guybrush: May I please have that necklace? Head: No, but thanks for asking …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.